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

0  0 
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 !

Avatar de pc.bertineau
Membre éclairé https://www.developpez.com
Le 07/06/2011 à 16:37
Ma journée d'hier et d'aujourd'hui ont été dévolues à la migration de la Beta1 vers la Beta3...
2  0 
Avatar de stealth35
Expert éminent sénior https://www.developpez.com
Le 22/06/2011 à 13:44
Enfin le générateur

http://symfony.com/blog/symfony2-get...ive-generators
1  0 
Avatar de Michel Rotta
Expert éminent https://www.developpez.com
Le 29/07/2011 à 23:22
Les trois systèmes peuvent être intéressants suivant les circonstances. Il ne faut pas pour autant oublier le quatrième système, les annotations, particulièrement puissant et agréable à utiliser.

Le Yaml, sera l'idéal pour l'écriture par un être humain.

Le XML sera intéressant dans le cas de l'utilisation d'une application qui va permettre l'édition d'un fichier de configuration.

Le PHP présente l'avantage d'être dynamique et donc de pouvoir récupérer des paramètres "à la volée" depuis différents systèmes de stockages, une souplesse incomparable.

Ils sont donc tous à envisager, suivant les circonstances.
1  0 
Avatar de dourouc05
Responsable Qt & Livres 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 ?
0  0 
Avatar de 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
0  0 
Avatar de 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.
0  0 
Avatar de RapotOR
Membre éclairé 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.
0  0 
Avatar de 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.
0  0 
Avatar de dourouc05
Responsable Qt & Livres 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.
0  0 
Avatar de 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
0  0