Symfony 2 CheatSheet – French
Fondamentaux HTTP
- Lire le
GET
et lePOST
:http://symfony.com/fr/doc/current/book/http_fundamentals.html
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
etJs
: dans le répertoireResources/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