Catégorie : Framework

  • Gestion de plusieurs BDD dans Laravel

    Dans certains contextes de projet, on a besoins d’avoir accès à plusieurs bases de données (au moins 2). Dans le contexte que j’ai pu avoir, il me fallait configurer 2 BDD. La première base était sur MySQL, et la deuxième sur PostgreSQL.

    Voici les différentes étapes que j’ai pu effectuer :

    La première étape est de définir les connexions de base de données dans le fichier de configuration config/database.php. Il faut ajouter une nouvelle connexion à la section connections du tableau de configuration. Par exemple :

    Configuration des 2 bases de données.

    Ensuite, il faut définir les variables d’environnement pour la deuxième base de données dans le fichier .env :

    Variables d’environnement pour la deuxième base de données.

    A partir de là, on peut utiliser les méthodes du Query Builder pour spécifier la connexion qu’on souhaite utiliser :

    Query Builder connexion

    L’étape suivante et de pouvoir effectuer les migrations des tables vers la deuxième base de données dans Laravel, il suffit de spécifier la connexion à utiliser lors de l’exécution des migrations. Il faut tout d’abord créer une migration Laravel.
    Voici la commande :

    commande de migration Laravel

    Dans le fichier de migration généré, on spécifie la connexion à utiliser :

    Migration Laravel avec une connexion BDD.

    4. Ensuite, vous pouvez exécuter vos migrations comme d’habitude :

    Commande Laravel pour les migrations.

    Cela créera la table test dans votre base de données PostgreSQL.
    Notez que si vous voulez exécuter toutes les migrations sur la deuxième base de données, vous pouvez utiliser la commande suivante :

    Commande Laravel pour les migrations, avec choix de la base de données.

    Cela exécutera toutes les migrations disponibles sur la connexion pgsql.

    Et voilà. Qu’en avez-vous penser ?

  • Tips Laravel : Comment vider le cache

    Vider le cache sur Laravel

    Travaillant depuis quelques mois sur le framework Laravel, j’ai trouvé tips qui me permettent de gagner du temps sur ce Framework.

    Par exemple, pour le cas du cache, j’ai pu créer un process Makefile qui se défini comme ceci :

    Commande de cache sur Laravel.

    La commande make cache permet de vider le cache du navigateur, des routes et de la configuration.
    Le make dump permet de régénérer le fichier d’autoload de composer.

    De temps en temps, on peut avoir ce genre d’erreur lors d’un cache:clear.

    Erreur lors d'un cache clear sur Laravel.

    Pour corriger l’erreur, il faut suivre ces étapes :

    • supprimer le dossier du cache (storage/framework/cache/data).
    • Le recréer.
    • Lui donner les bons droits (sudo chmod -R 777 storage/framework/cache/*)
    • Refaire un make cache.

    L’erreur à normalement disparu, et le cache est supprimé normalement

  • Message d’alerte sous Symfony

    Symfony est le Framework PHP le plus connu et le plus complet du marché. J’ai l’occasion de souvent l’utiliser, au gré de mes missions, et j’apprends toujours des choses dessus.

    Dernièrement, en créant un espace d’administration sur un projet SF, je devais ajouter un système d’alerte en 2 étapes.

    Étape 1 : l’ajout des messages dans les contrôleurs de Symfony basé sur la fonction addFlash().
    Voici un exemple de code avec cette fonction :

    AddFlash Message

    La 2eme étape se base sur la réception du message d’alerte dans la vue.
    Dans mon exemple, la vue est en Twig, et utilise des classes CSS de Bootstrap 4 :

    Code Twig

    Le code précédent ne traite qu’un Warning.

    Personnellement, j’aime faire des codes plus complet. De plus, je sais que Bootstrap 4 possède plusieurs types d’alertes.

    En posant quelques questions à ChatGPT (oui, j’ai triché et alors), j’ai eu rapidement un code plus complet, et qui faisait le taf.
    Le voici :

    Ce code définit une table de correspondance alertClasses qui relie chaque type de message à la classe CSS appropriée.
    La classe CSS appropriée est définie en utilisant la table de correspondance lorsque le type de message est rencontré et utilisé dans le div.
    La structure de div est maintenant unique pour tous les types de messages, ce qui permet un code factorisé, et réutilisable dans toutes mes vues.

    Et voilà. Qu’en pensez-vous ?

  • Yii Framework : Installation

    Présentation de Yii, framework PHP
    Présentation de Yii, framework PHP

    Présentation

    Yii2 est un Frameworks PHP parmi tant d’autres. Il est moins connu que Symfony, Laravel ou CodeIgniter, mais il a une communauté.
    Il facilite grandement le développement grâce à son cadre de travail prenant en compte le MVC, la gestion des formulaires, l’active record pour la base de donnée, etc…

    Installation

    Ce qu’il faut savoir est l’existence de 2 architectures de Yii : la basic, et l’advanced.
    Selon l’architecture de Yii que vous voulez, les étapes d’installations diffèrent légèrement, mais ce n’est pas quelques choses de compliqué.

    Voici la commande d’installation pour l’architecture simple de YII :

    composer create-project --prefer-dist yiisoft/yii2-app-basic basic 

    Pour installer l’architecture avancé de YII, voici les 2 étapes à suivre :

    composer create-project -–prefer-dist yiisoft/yii2-app-advanced advanced
    cd advanced
    /path/to/php-bin/php /path/to/yii-application/init (ou php init)

    Il ne reste plus qu’à vous faire des virtualhost, et tout est bon.
    Pour connaître les exigences de Yii sur l’environnement utilisé, il suffit de lancer la commande ci-dessous :

    php requirements.php

    Inspiration

    Pour vous permettre de vous lancer plus rapidement, voici les liens vers la documentations de Yii2
    Yii 2 Basic : Procédure complète d’installation.
    Yii 2 Advanced : Procédure d’installation

  • Les meilleurs frameworks PHP

    Framework PHP
    Framework PHP

    Je suis développeur Web, majoritairement Back-End, et je suis dans une période de grand changement.

    Actuellement, je change de mission, et dans ma nouvelle mission, je dois apprendre à utiliser Yii Framework.
    Sur le site, la documentation est assez complète. Elle a même été traduite en plusieurs langues, donc le Français. Pour le peu que j’ai pu voir sur ce Framework, il est intéressant et très complet.

    Dans mes expériences précédentes, j’ai eu l’occasion de travailler sur d’autres frameworks, en l’occurrence Symfony et CodeIgniter.
    Je commence même à apprendre Laravel (pour les versions 5 et 6).

    Voici mon constat pour le moment :

    • Je n’arrive pas à accrocher à Symfony.
    • CodeIgniter 3 est intéressant, mais pas parfait. (En attente de la version 4)
    • Laravel et Yii Framework sont prometteur.

    Pour vous, quels sont les frameworks que vous connaissez ? Lequel préférez-vous ?