: 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

Le htaccess Part Ouane

Le htaccess Part Ouane

Faire un joli HTACCESS, simplement et rapidement un site sous apache Voir +
htaccess part Tauw

htaccess part Tauw

Ce proteger des robots et autre méchant crawlers du web avec apache Voir +
Alerte de confirmation de changement de page avec jQuery pour un formulaire avec ckeditor

Alerte de confirmation de changement de page avec jQuery pour un formulaire avec ckeditor

Petit script jQuery pour afficher une alerte JavaScript pour confirmer la fermeture de la page... Voir +

Dernieres Quotes DTC

(A propos de)

Dijad : Comment va?

Nikolaï Raxx : bien et toi ? ^^

Dijad : Crevée xD

Nikolaï Raxx : ah ?

Dijad : Journée de boulot *essuis son front*

Nikolaï Raxx : han

Dijad : En plus je gère de l'auto

Nikolaï Raxx : c'est quoi ?

Dijad : Accidents automobiles

Nikolaï Raxx : aaaaaaah

Nikolaï Raxx : "Comment ça explosion à cause d'un gode coincé dans le pot d'échappement c'est pas couvert ?!!" xDDD

Dijad : Steuh plait xD ya une sociétaire elle voulait le remboursement de son god de luxe ...qui se trouvait dans sa voiture...volée xD

Nikolaï Raxx : O.O

Nikolaï Raxx : NAAAAAAAAN x'D

Dijad : Et là je te parle pas du sociétaire qui dessine les arbres sur le constat et...une pute xD Avec la mention "B m'a coupé la route en direction d'une prostituée"

Dijad : Ou du pv de police mentionnant que la conductrice est "hystérique et essaye de rentrer en contact avec Jésus"

Nikolaï Raxx : y en a des perles x')

#20001 - Voir les commentaires

Dijad : Comment va?

Nikolaï Raxx : bien et toi ? ^^

Dijad : Crevée xD

Nikolaï Raxx : ah ?

Dijad : Journée de boulot *essuis son front*

Nikolaï Raxx : han

Dijad : En plus je gère de l'auto

Nikolaï Raxx : c'est quoi ?

Dijad : Accidents automobiles

Nikolaï Raxx : aaaaaaah

Nikolaï Raxx : "Comment ça explosion à cause d'un gode coincé dans le pot d'échappement c'est pas couvert ?!!" xDDD

Dijad : Steuh plait xD ya une sociétaire elle voulait le remboursement de son god de luxe ...qui se trouvait dans sa voiture...volée xD

Nikolaï Raxx : O.O

Nikolaï Raxx : NAAAAAAAAN x'D

Dijad : Et là je te parle pas du sociétaire qui dessine les arbres sur le constat et...une pute xD Avec la mention "B m'a coupé la route en direction d'une prostituée"

Dijad : Ou du pv de police mentionnant que la conductrice est "hystérique et essaye de rentrer en contact avec Jésus"

Nikolaï Raxx : y en a des perles x')

#20001 - Voir les commentaires

(Par MrPapierBulle)

Question c'est quoi un gode de luxe ? Un gode en or, incrusté de diamant ? C'est pas douloureux ? Et pourquoi elle l'a dans la voiture ? Elle l'utilise au feu rouge ? C'est pour prêter à un ami ?

(A propos de)

Dijad : Comment va?

Nikolaï Raxx : bien et toi ? ^^

Dijad : Crevée xD

Nikolaï Raxx : ah ?

Dijad : Journée de boulot *essuis son front*

Nikolaï Raxx : han

Dijad : En plus je gère de l'auto

Nikolaï Raxx : c'est quoi ?

Dijad : Accidents automobiles

Nikolaï Raxx : aaaaaaah

Nikolaï Raxx : "Comment ça explosion à cause d'un gode coincé dans le pot d'échappement c'est pas couvert ?!!" xDDD

Dijad : Steuh plait xD ya une sociétaire elle voulait le remboursement de son god de luxe ...qui se trouvait dans sa voiture...volée xD

Nikolaï Raxx : O.O

Nikolaï Raxx : NAAAAAAAAN x'D

Dijad : Et là je te parle pas du sociétaire qui dessine les arbres sur le constat et...une pute xD Avec la mention "B m'a coupé la route en direction d'une prostituée"

Dijad : Ou du pv de police mentionnant que la conductrice est "hystérique et essaye de rentrer en contact avec Jésus"

Nikolaï Raxx : y en a des perles x')

#20001 - Voir les commentaires