A causa dei problemi che avevo con la versione 2.7 di symfony (errore di 404 pagine subito dopo l'installazione di un progetto) ho iniziato ad usare Symfony versione 3.0 . Dopo alcuni problemi minori ho capito che "app/console" è stata sostituita da "bin/console". Così sto lavorando ora su un nuovo progetto e ho già costruire un nuovo bundle con 1 soggetto chiamatoArgomento previsto di tipo "string", "Vendor NameBundle Form EntitynameType" dato Symfony 3.0
Codeit/RestaurantBundle && CodeitRestaurantBundle:Reserveren
Format è annotazioni, e l'entità ha un ID e 1 campo chiamato "naam "(stringa, 255). Ho aggiornato lo schema, ho generato le entità di Codeit e dopo che è stato fatto con successo ho generato un crud con azioni di scrittura. Il formato era nuovamente annotazione e il prefisso è/reserveren.
Quindi se visito la pagina web/reserveren sto ricevendo una pagina di presentazione della mia entità. Purtroppo se provo ad aggiungere una nuova voce che sto ottenendo il seguente errore:
Expected argument of type "string", "Codeit\RestaurantBundle\Form\ReserverenType" given
mio Bundle/Form/ReserverenType.php
<?php
namespace Codeit\RestaurantBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class ReserverenType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('naam')
;
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Codeit\RestaurantBundle\Entity\Reserveren'
));
}
}
Il mio codice entità
<?php
namespace Codeit\RestaurantBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Reserveren
*
* @ORM\Table(name="reserveren")
* @ORM\Entity(repositoryClass="Codeit\RestaurantBundle\Repository\ReserverenRepository")
*/
class Reserveren
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="Naam", type="string", length=255)
*/
private $naam;
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set naam
*
* @param string $naam
*
* @return Reserveren
*/
public function setNaam($naam)
{
$this->naam = $naam;
return $this;
}
/**
* Get naam
*
* @return string
*/
public function getNaam()
{
return $this->naam;
}
}
Grazie Cerad! Ha funzionato bene .. Riconsidererò di fare un nuovo progetto con una versione più conosciuta .. Grazie comunque! – Gijsberts
Non c'è niente di sbagliato nell'usare 3.x per un nuovo progetto. Basta essere consapevoli del fatto che un bel po 'delle informazioni S2 là fuori non si applica più. – Cerad
molte grazie, stava impazzendo sul perché il modulo non funzionava e ora lo so. – Baig