Symfony2 : la version beta2 du framework PHP est disponible

Le , par creativecwx, Membre actif
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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de dourouc05 dourouc05 - Responsable Qt https://www.developpez.com
le 23/05/2011 à 21:45
, ça c'est du résumé !

Je suppose que toute la doc est déjà à jour ?
Avatar de creativecwx creativecwx - Membre actif https://www.developpez.com
le 23/05/2011 à 21:52
Oui, la doc était mise à jour plus ou moins en même temps que les commits.

Il y a eu pas mal d'ajouts dans la doc, Ryan a créé un nouveau chapitre sur la sécurité, j'ai refactorisé les types de champs form, miller a ajouté une partie sur les containers de services, elle prend forme mais ca ne vaut pas encore jobeet
Avatar de winzou winzou - Inscrit https://www.developpez.com
le 24/05/2011 à 3:51
dourouc pour voir les modifs depuis la derniere version, c'est par ici : https://github.com/symfony/symfony/b...ster/UPDATE.md
Le seul oubli qu'ils ont fait, c'est de nous dire qu'ils avaient ajoute une dependance a un nouveau vendor : Metadata. J'ai galere pour faire ma mise a jour a cause de ca.
Avatar de RapotOR RapotOR - Membre confirmé https://www.developpez.com
le 24/05/2011 à 7:39
@winzou : bien vu, j'avais même pas pisté. Pourquoi ne le mettent ils pas directement dans le pack Symfony? Dommage.
Avatar de winzou winzou - Inscrit https://www.developpez.com
le 27/05/2011 à 9:42
uhm, deja la beta3. Pas grand chose de nouveau si j'ai bien suivi, principalement des resolutions de bug.
Avatar de dourouc05 dourouc05 - Responsable Qt https://www.developpez.com
le 27/05/2011 à 9:51
J'ai pas encore eu le temps de migrer à la beta 2 !

Il ne faut pas oublier qu'ils ont retravaillé la doc :

Citation Envoyé par http://symfony.com/blog/symfony2-beta3-available
We have also been quite busy with documentation and the cookbook homepage has been re-organized to ease navigation.
Avatar de massacreur massacreur - Nouveau membre du Club https://www.developpez.com
le 27/05/2011 à 12:32
Comme tu disais, il ne semble pas y avoir beaucoup de changement entre la beta 2 et la beta 3, un léger changement sur les annotations dans la config du framework et principalement de la mise à jour de bug :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Before:

framework:
    annotations:
        cache: file
        file_cache:
            debug: true
            dir: /foo

After:

framework:
    annotations:
        cache: file
        debug: true
        file_cache_dir: /foo
Avatar de Michel Rotta Michel Rotta - Expert éminent https://www.developpez.com
le 30/05/2011 à 10:54
On s'approche d'une version final a priori.
Avatar de dourouc05 dourouc05 - Responsable Qt https://www.developpez.com
le 30/05/2011 à 11:01
Tu as une source, des éléments tangibles ?
Avatar de Michel Rotta Michel Rotta - Expert éminent https://www.developpez.com
le 30/05/2011 à 11:46
Non, l'évolution des bétas. La lecture des billets de Fabien. Et le calendrier qui a presque 3 mois de retards...

Mais ce n'est qu'un ressenti, si non, j'aurais pris un malin plaisir à citer ma source...
Responsable bénévole de la rubrique Développement Web : Xavier Lecomte -