Site Tools


Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
perso:quentin:symfony

This is an old revision of the document!


mise en prod

$ composer require symfony/requirements-checker 
ensuite: http://localhost:8000/check.php 

une fois que c'est fait, la désactiver: $ composer remove symfony/requirements-checker


Lancer les tests : 
$ ./vendor/bin/simple-phpunit

déploiement

composer install --no-dev --optimize-autoloader

Utiliser les tag sous Git : https://git-scm.com/book/en/v2/Git-Basics-Tagging

->Utiliser le bundle Easy Deploy Bundle -  https://github.com/EasyCorp/easy-deploy-bundle/blob/master/doc/installation.md
Nouvelles commandes: 
- deploy 
- rollback  

php bin.console deploy staging

Logs d'erreurs dans var/logs/deploy_prod.log
Rajouter -v dans la commande pour afficher directement les logs, ou --dry-run pour tester 

Blocs réutilisables dans Twig

https://www.youtube.com/watch?v=iqVhq7X63n4

Créer un fonction Twig qui va servir de “mini-controlleur” en injectant un Repository pour récupérer les données.

Possible de mettre en cache ce bloc-là :

Injecter CacheInterface (dans symfony/contracts) dans l'extension Twig et le mettre dans $this→cache :

public function getSidebar(){
    return $this->cache->get('sidebar', function(ItemInterface $item){
        $item->expiresAfter(3600);
        // $item->tag(['posts']); // ça peut servir au lieu d'expirer automatiquement, d'invalider les caches ensuite si par exemple on rajoute un article en BO (mais il faut que $this->cache soit dans le namespace TagAwareAdapterInterface)
        return $this->renderSidebar();
    });
}
 
private function renderSidebar(){
    $posts = $this->getRepository->findArticles();
    return $this->twig->render('partial/sidebar.html.twig', ['posts' => $posts]);
}

Générer tous les pages CRUD avec controlleur, form et views

php bin/console make:crud 
perso/quentin/symfony.1610715546.txt.gz · Last modified: (external edit)