: 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 +
Modifications ultra-simples et sympa pour wordpress

Modifications ultra-simples et sympa pour wordpress

Petite liste de fonctions rajoutable sans risque dans le functions.php de wordpress pour se... Voir +
Créer une tache web cron chez OVH avec paramètres

Créer une tache web cron chez OVH avec paramètres

Souvent les hébergeurs ils limitent l'utilisation de crontab notamment OVH Voir +

Dernieres Quotes DTC

Blinght : Y’a des phrases comme ça qui méritent la mort instantanée des personnes qui les ont prononcées/ écrites !

Pouiii : Genre ?

Blinght : « je l’ai one shot en deux coups ! ». Un éclair divin et pouf, fini !

Pouiii : Ah oui, effectivement ! « Je vais aller sur face de bouc » ?

Blinght : Voilà, t’as tout compris ! « Je vais aller tâter les miches de la boulangère »

Pouiii : Y va pu rester beaucoup de beauf ! « Je suis posey/ c’est styley/ et autre conneries en –ey ». Mention spéciale : sodomisé à mort par un pon-ey.

Blinght : Les discussions « Salut lol/ Ca va lol/ ah bon lol » : la répétition abusive du terme « lol » (marche aussi avec « ^^ ») mènera désormais à une combustion spontanée.

Pouiii : Et le corolaire : les gens qui disent « lol », « mdr » ou « ptdr » alors que c’est fait pour être écrit : AVC foudroyant !

Blinght : « Je le croivai pas »… y’a même pas de supplice à la hauteur de cette infamie !

Pouiii : « c’est moi qui l’a » : si tu en trouves un, mets les dans le même panier !

Blinght : « Chuck Norris a … » : la mode est passée, fallait suivre au bon moment ! Vaporisation instantanée !

Pouiii : « C’est JUSTE insupportable JUSTE de mettre JUSTE tous les deux JUSTES mots ». Nécrose généralisée pour une lente souffrance.

Blinght : « c’est so 2012/2013/2014/2015/2016/2017 », « trop in/ trop out » et autres réflexions issues de magazines féminins. C’est pas une intervention divine mais je ne vois que le coup de tronçonneuse en diagonale de la bouche à la hanche.

Pouiii : « han, mais tu dessines/joues de la musique trop bien. Moi j’ai pas ce don ! ». C’est pas un don, ça se travaille : Disparition subite de l’ensemble du système respiratoire.

Blinght : Le musicien que je suis te remercie. Allez, sans terme précis : ceux qui font des spoilers sur les films/ séries : épectase (soyons généreux pour ceux qui font ça involontairement, la finalité de la mort étant respectée).

Pouiii :

Pouiii : J’ai super envie de te faire un gros spoiler du coup…

Blinght : Ta gueule

Pouiii : Dans le dernier épisode en date de GOT…

* Blinght has disconnected

#19852 - Voir les commentaires

J: J'ai un pote qui vire alcoolique

J: Mais à base de je bois tout seul le soir

J: :/

D: Dur :/

T: je peux l'aider

T: je peux boire avec lui

T: il sera plus tout seul

T: probleme resolu

J: ....

J: Je soumettrai l'idee

#19849 - Voir les commentaires

<Kiwi> T'es super mignonne :D

<Elise> Tu es sérieux? :x

<Elise> Tu penses que j'suis jolie ? :x

<Kiwi> Mais oui

<Kiwi> j'en suis même complètement dur

<Kiwi> sur*

#14161 - Voir les commentaires

(Par Danxter)

Il n’aurait pas aussi une amie accro au porno, nymphomane et agoraphobe par hasard? C’est pour aider un pote...