: Tuto Par :
Utiliser les extensions Doctrine dans Symfony 2 et 3 via les extensions gedmo

Petit tuto très simple et rapide sur un bundle INDISPENSABLE,

Gedmo est un bundle qui fournie des extensions à Doctrine, ic on va juste effleurer la surface de ce bundle mais c'est déjà assez violent.

 1) On modifie notre fichier Composer :

"stof/doctrine-extensions-bundle": "1.2.x", 

2) On l’active dans le AppKernel :

new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),

3) On rajoute ça dans notre fichier de configuration :

stof_doctrine_extensions:
    default_locale: fr_FR
    orm:
        default:
            sluggable:   true
            timestampable: true

4) On ouvre une Entité dans la quelle on souhaite automatiser certaines actions :

On charge la classe :

use Gedmo\Mapping\Annotation as Gedmo;

Et voila un exemple de ce que l'on peut faire :

Automatiser la date de création et la dernière modification d’une entité :
 

    /**
     * @var \DateTime
     * @Gedmo\Timestampable(on="create")
     * @ORM\Column(name="created_at", type="datetime", nullable=false)
     */
    private $createdAt;

    /**
     * @var \DateTime
     * @Gedmo\Timestampable(on="update")
     * @ORM\Column(name="updated_at", type="datetime", nullable=false)
     */
    private $updatedAt;

    /**
     * Get createdAt
     *
     * @return \DateTime
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * Get updatedAt
     *
     * @return \DateTime
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }

Vous remarquerez l’absence des Setters c’est normal, comme c’est automatisé par Gedmo ils sont inutiles, voir nuisibles.

Et un exemple pour le Slug

Alors le slug c'est tout simplement une version optimisée pour le référencement de votre article, au lieu d'avoir :
www.monsite.com?article=145
on a :
www.monsite.com/titre-de-article-optimise-sans-maj-ou-accents

/**
* Article
*
* @ORM\Table(name="article")
* @ORM\Entity(repositoryClass="SiteBundle\Repository\ArticleRepository")
* @ORM\HasLifecycleCallbacks
* @Vich\Uploadable
*/
class Article implements ItemInterface{

    /**
     * @Gedmo\Slug(fields={"titre"},separator="-", updatable=true, unique=true)
     * @ORM\Column(length=128)
     */
    private $slug;

Sources :

Github
symfony.com

Avatar de l'utilisateur Nodoka

Nodoka

PedoQueen des intrawebz 2.0, antéchristine de la connerie, j'aime les loli, les vocaloid, l’humour noir (car le blanc est raciste) et les Animés. Promis je te mangerais trollement bien avec amour. Ma devise : "If her age is on the clock, she's old enough for the cock".

Articles Aléatoires

Extentions pour firefox pour sa vie privée

Extentions pour firefox pour sa vie privée

Liste d'extension open sources pour proteger sa vie privée sur internet avec firefox Voir +
Integration de Gravatar dans un project symfony 2

Integration de Gravatar dans un project symfony 2

Tutorial pour Integrer facilement gravatar dans une project symfony 2 Voir +
Sélection d'anime du printemps 2016

Sélection d'anime du printemps 2016

Petite sélection personnelle et non exhaustive des animes du printemps 2016 Voir +

Dernieres Quotes DTC

(A propos de)

Blabarjow : Je suis dans la mouise pour la reprise X)

Blabarjow : Et toi? ;)

Blaburk : Je suis dans le caca

Blaburk : Demain je serai dans le pétrin

Blaburk : Le mois qui vient, dans le purrin

Blaburk : Et cette année sent le fumier

Blaburk : Bref, rien de nouveau, que du popo

Blaburk : Il faut tenir bon nom d'un étron !

Blabarjow : XD

Blaburk : Mais ne t'inquiète pas, nous sommes tenaces, nous vaincrons la chiasse !

Blabarjow : Quelle poète

Blaburk : Ça pète x)

#20170 - Voir les commentaires

Blabarjow : Je suis dans la mouise pour la reprise X)

Blabarjow : Et toi? ;)

Blaburk : Je suis dans le caca

Blaburk : Demain je serai dans le pétrin

Blaburk : Le mois qui vient, dans le purrin

Blaburk : Et cette année sent le fumier

Blaburk : Bref, rien de nouveau, que du popo

Blaburk : Il faut tenir bon nom d'un étron !

Blabarjow : XD

Blaburk : Mais ne t'inquiète pas, nous sommes tenaces, nous vaincrons la chiasse !

Blabarjow : Quelle poète

Blaburk : Ça pète x)

#20170 - Voir les commentaires

(Par MJSadique)

Une année comme les autres, en somme.

(A propos de)

Blabarjow : Je suis dans la mouise pour la reprise X)

Blabarjow : Et toi? ;)

Blaburk : Je suis dans le caca

Blaburk : Demain je serai dans le pétrin

Blaburk : Le mois qui vient, dans le purrin

Blaburk : Et cette année sent le fumier

Blaburk : Bref, rien de nouveau, que du popo

Blaburk : Il faut tenir bon nom d'un étron !

Blabarjow : XD

Blaburk : Mais ne t'inquiète pas, nous sommes tenaces, nous vaincrons la chiasse !

Blabarjow : Quelle poète

Blaburk : Ça pète x)

#20170 - Voir les commentaires