Symfony 2 CheatSheet – French

Fondamentaux HTTP

Php

  • Vider le cache :
    php app/console cache:clear
  • Deboguer les routes :
    php app/console router:debug
  • Configuration avancée de routes :
    blog:
        pattern:   /blog/{page}
        defaults:  {
            _controller: AcmeBlogBundle:Blog:index,
            page: 1
        }
        requirements:
            page:  \d+
  • Voir ce qui arrive dans le post/get d’une requête :
    print_r($request->request->all());
  • Génération d’une URL :
    $uri = $router->generate(
        'blog_show',
        array('slug' => 'my-blog-post')
    );
  • Génération d’une URL absolue :
    $router->generate(
        'blog_show',
        array('slug' => 'my-blog-post'),
        true
    );
  • Changement de l’hôte :
    $router->getContext()->setHost('www.example.com');

Templating Twig

  • Commentaires :
    {# Commentaire #}
  • Afficher = double crochets :
    {{ afficher }}
  • Exécuter = crochets et «%» :
    {% exec %}
  • Afficher une variable sans l’«escaper» :
    {{ article.body|raw }}
  • Variable simple :
    {{ page_title }}
  • Déboguage d’une variable :
    {{ dump(articles) }}
  • Vérifier la syntaxe de tous les fichiers d’un bundle :
    php app/console twig:lint @HQFPizzasBundle
  • Traduire en appliquant un bundle spécifique :
    {{ message|trans({}, 'FOSUserBundle') }}
  • Boucle for :
    {% for item in navigation %}
        <a href="{{ item.href }}">
            {{ item.caption }}
        </a>
    {% endfor %}
  • Boucle for avancée :
    {% for i in 0..10 %}
        <div class="{{ cycle(['odd', 'even'], i) }}">
            <!-- some HTML here -->
        </div>
    {% endfor %}
  • Si une variable existe et n’est pas vide :
    {% if maVar is defined and maVar is not null%}
    {% endif %}
    
  • Génération d’une URL :
    {{ path('blog_show', {'slug': 'my-blog-post'}) }}
  • Génération d’une URL absolue :
    {{ url('blog_show', {'slug': 'my-blog-post'}) }}
  • Déclaration d’un descendant d’un fichier :
    {% extends '::base.html.twig' %}
  • Déclaration d’un bloc :
    {% block title %}My cool blog posts{% endblock %}
  • Ré-inclure ce qu’il y a dans le bloc parent :
    {% block sidebar %}
        <h3>Table of Contents</h3>
        {# ... #}
        {{ parent() }}
        {# ... #}
    {% endblock %}
  • Fichiers Css et Js : dans le répertoire Resources/public.
    Déploiement via la ligne de commande :

    php app/console assets:install target [--symlink]

    Pour l’environnement de développment :

    php app/console assetic:dump --symlink

    Pour l’environnement de production :

    php app/console assetic:dump --env=prod --no-debug --symlink

Doctrine

  • Dumper une requête pour voir comment elle est construite :
    $marequete->getQuery();
    print_r(array(
        'sql'        => $marequete->getSQL(),
        'parameters' => $marequete->getParameters(),
    ));
  • Générer les getter / setter :
    php app/console doctrine:generate:entities Acme/StoreBundle/Entity/Product
  • Grande ligne qui génère les getter / setter pour tout un bundle, et qui supprime tous les espaces inutiles ajoutés par les getter / setter, ainsi que les fichiers de backup :
    php app/console doctrine:generate:entities MaSocieteMonSuperBundle && find src/MaSociete/MonSuperBundle/Entity/ -type f -print0 | xargs -r0 sed -e 's/[[:blank:]]\+$//' -i && find src/MaSociete/MonSuperBundle/Entity/*~ -type f | xargs rm -f
  • Supprimer physiquement toutes les tables déclarées dans les entities :
    php app/console doctrine:schema:drop --force
  • Créer la base de données au complet :
    php app/console doctrine:schema:create

Poster un commentaire

Vous devriez utiliser le HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>