IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Symfony2 : la version beta2 du framework PHP est disponible

Le , par creativecwx

0PARTAGES

Ooops j'avais pas vu..

Beta1 vers Beta2:

FORMULAIRES:
------------

* L'option csrf_page_id des formulaires est mtnt "intention".

* Type Collection : L'option "modifiable" été divisée en deux options "allow_add" et "allow_delete"

* Type Date : l'argument "text" de l'option "widget" changé en "single-text". L'argument "text" indique mtnt de faire 3 select box distincts.

* Vues : la variable "name" est changée en "full-name". "name" contient mtnt le nom court du champ.

Le service des formulaires doit être activé manuallement, il est activé par défaut dans la version Standard Edition
Code : Sélectionner tout
1
2
3
4
5
6
        form: ~

        # equivalent to
        form:
            enabled: true


DOCTRINE:
---------

Les fichiers metadata de Doctrine ont changé:

Nouvel emplacement: /Resources/config/doctrine

Nouveau nom de fichier: Entité.orm.yml

Les paramètres suivant ont été remplacés par des méthodes Doctrine:

* doctrine.orm.entity_managers
* doctrine.orm.default_entity_manager
* doctrine.dbal.default_connection

Avant:
Code : Sélectionner tout
1
2
3
4
        $container->getParameter('doctrine.orm.entity_managers')
        $container->getParameter('doctrine.orm.default_entity_manager')
        $container->getParameter('doctrine.orm.default_connection')
Après:

Code : Sélectionner tout
1
2
3
4
        $container->get('doctrine')->getEntityManagerNames()
        $container->get('doctrine')->getDefaultEntityManagerName()
        $container->get('doctrine')->getDefaultConnectionName()
On peut aussi utiliser le registre directement

Code : Sélectionner tout
1
2
3
4

        $em = $this->get('doctrine')->getEntityManager();
        $em = $this->get('doctrine')->getEntityManager('foobar');
les arguments de la commande "doctrine-generate-entities" ont changé, cette commande exécute mtnt automatique "doctrine:generate-repositories".

ANNOTATIONS:
------------

Le système de parsage d'annotations changé comme cité plus haut, il implémente maintenant Doctrine Commons 3.0

Toutes les annotations qui sont utilisées dans une classe doivent mtnt être importées.

Avant:

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    /**
     * @orm:Entity
     */
    class MyUser
    {
        /**
         * @orm:Id
         * @orm:GeneratedValue(strategy = "AUTO")
         * @orm:Column(type="integer")
         * @var integer
         */
        private $id;
        
        /**
         * @orm:Column(type="string", nullable=false)
         * @assert:NotBlank
         * @var string
         */
        private $name;
    }

Après:
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    use Doctrine\ORM\Mapping as ORM;
    use Symfony\Component\Validator\Constraints as Assert;

    /**
     * @ORM\Entity
     */
    class MyUser
    {
        /**
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         * @ORM\Column(type="integer")
         *
         * @var integer
         */
        private $id;

        /**
         * @ORM\Column(type="string", nullable=false)
         * @Assert\NotBlank
         *
         * @var string
         */
        private $name;
    }


CONFIGURATION:
--------------

framework.validation.annotations supprimé

framework.validation.enable_annotations ajouté, boolean, defaut à false

error_handler supprimé, géré mtnt directement par le AppKernel.php (version SE)

VALIDATION:
-----------

La contrainte Set a été supprimée et n'est plus requise :

Avant :
Code : Sélectionner tout
1
2
3
4
5
  
    /**
     * @assert:Set({@assert:Callback(...), @assert:Callback(...)})
     */
    private $foo;
Après:
Code : Sélectionner tout
1
2
3
4
5
6
7
8
    use Symfony\Component\Validator\Constraints\Callback;

    /**
     * @Callback(...)
     * @Callback(...)
     */
    private  $foo;

ROUTING:
--------

Les Exceptions du composant Routing ont été déplacées:

Avant:
Code : Sélectionner tout
1
2
3
4
        Symfony\Component\Routing\Matcher\Exception\Exception
        Symfony\Component\Routing\Matcher\Exception\NotFoundException
        Symfony\Component\Routing\Matcher\Exception\MethodNotAllowedException
Après:
Code : Sélectionner tout
1
2
3
4
5

        Symfony\Component\Routing\Exception\Exception
        Symfony\Component\Routing\Exception\NotFoundException
        Symfony\Component\Routing\Exception\MethodNotAllowedException

TRADUCTIONS:
------------

Les traductions sont mtnt sous "/app/Resources/translations

SESSIONS:
---------

La méthode Request::hasSession() renommée en Request::hasPreviousSession(), la méthode hasSession() existe toujours mais ne fait que contrôler si un objet de session existe et non si l'objet a été créé dans une session précédente.

Encore d'autres infos aussi sur les event_handlers que je n'ai pas cité, plus d'infos ici : https://github.com/symfony/symfony/b...ster/UPDATE.md

Une erreur dans cette actualité ? Signalez-le nous !