Catégorie : PHP

  • Les Enums en PHP

    par

    dans

    Dans sa version 8.1, PHP gère nativement le type ENUM et cela permet de simplifier et rationaliser le code à écrire. Nous devions créer une méthode afin de récupérer chaque valeur possible et, par exemple, afficher une liste déroulante à l’utilisateur. Désormais, nous disposons automatiquement de la méthode cases qui retourne une variable de type…

  • PHP et les Throwable, Error, Exception

    par

    dans

    Fonctionnement depuis PHP 7 Depuis PHP 7, la plupart des erreurs sont signalées via une exception de type Error (ou qui étend Error). Comme toutes exceptions, les exceptions de type Error remontent jusqu’à être attrapées par un catch correspondant ou bien, s’il n’y en a pas, par le gestionnaire d’exception défini par défaut avec la…

  • Nouvelles syntaxes PHP

    par

    dans

    Fonction recevant un nombre indéterminé de paramètres d’un même type Avec un type simple : Avec un type plus complexe : Cela permet d’éviter ce genre de code : Récupérer certains éléments d’un tableau avec la méthode list Depuis PHP 7.4, disponibilité des arrow functions, aussi nommée short closures Les Union Types Passer de switch…

  • Phinx

    par

    dans ,

    Migration de BDD

  • Les design patterns, ou patrons de conception

    par

    dans

    Que sont les patrons de conceptions ? Définition Un patron de de conception est une solution qui répond à une problématique récurrente de conception. En développement, les mêmes problématiques reviennent régulièrement et pour y répondre de manière uniforme sans devoir réinventer la roue, des partons de conception ont été inventés. Un patron de conception n’est…

  • Docker – Créer une stack LAMP

    Le but Le but est d’obtenir l’environnement de développement suivant : Ubuntu 22.04 LTS PHP 8.1 MySQL 8.0 Le fichier Dockerfile Le fichier docker-compose.yml Script PHP de connexion à la BDD Les différentes URL d’accès Accéder aux sources : http://localhost:8080/ Accéder à PHPMyAdmin : http://localhost:8181/

  • Programmation SOLID

    L’acronyme SOLID décrit 5 principes / bonnes pratiques en développement : Ci-après, une explication détaillée de chaque principe. Explications détaillées des 5 principes SOLID Responsabilité unique Afin d’éviter une certaine complexité du code, des classes à plusieurs milliers de lignes et une forte dépendance, une classe / une méthode ne doit avoir qu’une seule responsabilité,…

  • PHP_CodeSniffer

    par

    dans

    Présentation de PHP_CodeSniffer ? PHP_CodeSniffer, aussi connu sous le nom raccourci PHPCS, est un outil conçu en PHP par l’équipe Squiz Labs et qui vise à vous aider dans l’amélioration de la qualité de votre code. Le projet ne dispose pas de site officiel mais d’un projet Git : GitHub PHP_CodeSniffer. PHPCS détectera des écarts…

  • PHP CS Fixer

    par

    dans

    Présentation de PHP CS Fixer PHP CS Fixer a pour but de détecter et réécrire automatiquement le code d’un projet PHP afin que celui-ci respecte les normes PSR ou autres comme par exemples des règles « maisons ». Le projet ne dispose pas de site officiel mais d’un projet Git : GitHub PHP CS Fixer.

  • Détecter les copiés / collés en PHP avec PHP Copy/Paste Detector

    par

    dans

    Présentation de PHP Copy/Paste Detector Conçu par Sebastian Bergmann, PHP Copy/Paste Detector a pour but de détecter les sections de code copiées / collées dans un projet PHP, ce qui va à l’encontre de la règle Don’t Repeat Youself (DRY). Plus d’informations sur le projet et son utilisation sur disponibles sur : Le site officiel…

  • PHP Mess Detector

    par

    dans

    Présentation de PHP Mess Detector PHP Mess Detector a pour but de détecter dans un projet PHP de la complexité ou des mauvais usage qui mènerons inévitablement à des bugs et à un coup de maintenance important comme : Des méthodes et propriétés inutilisées. Des paramètres inutiles dans les méthodes. Des expressions ou morceaux de…

  • PHP et les PSR

    par

    dans

    Que sont les PSR ? PSR signifie PHP Standard Recommendation. Il s’agit d’un ensemble de normes conçues par le PHP-FIG, PHP Framework Interoperability Groupement. Ce groupe, dont tout le monde peut faire partie à certains niveaux, est en partie composé de personnes travaillant sur des projets comme Symfony, Composer, Drupal, Joomla, PEAR, phpDocumentor, PrestaShop, Slim…

  • PHPStan

    par

    dans

    La majorité des informations qui suivent sont directement issues du site officiel de PHPStan. Présentation de PHPStan Quelle est l’utilité de PHPStan ? PHPStan est un outil open-source d’analyse statique du code source PHP et est lui-même codé en PHP. Il a pour but de parcourir un code PHP sans l’exécuté afin d’identifier des anomalies.…

  • Erreurs et exceptions depuis PHP 7

    par

    dans

    Les objets Error et Exception Distinction entre les erreurs PHP et les exceptions du développeur À partir de la version 7, PHP modifie sa gestion des erreurs. La majorité des erreurs sont lancent désormais une exception Error qui implémente l’interface Throwable. L’objet Exception, qui implémente également l’interface Throwable, permet au développeur de créer ses propres…

  • Le design pattern Singleton

    par

    dans

    Présentation Le design pattern Singleton est un patron de conception de création d’objet. Il impose qu’une classe n’est qu’une seule instance possible et pas plus d’une et fourni un accès faisant systématiquement référence et cette instance unique. Pour cela, il y a plusieurs étapes à respecter : Le constructeur de la classe devra être soit…

  • Tips PHP

    par

    dans

    Travailler avec les dates Boucler sur tous les jours situés entre deux dates Fonctions et paramètres Ces fonctions qui acceptent plusieurs arguments On le sait pour certaines, mais pas forcément pour toutes, alors qu’il est très pratique que ces fonctions acceptent plusieurs arguments afin de rendre du code plus concis et en faciliter la lecture.…

  • Composer : Gestionnaire de dépendances pour PHP

    par

    dans

    Présentation et intérêts Composer est un gestionnaire de dépendances en PHP. Il s’agit d’un projet libre, disponible sur GitHub, similaire à npm pour Node.js. Comme tout gestionnaire de dépendances, Composer permet d’indiquer les bibliothèques dont a besoin une application web pour fonctionner et la version de chacune de ces bibliothèques. Composer se charge de récupérer…

  • Upload de fichiers en PHP

    par

    dans

    Configuration Il faut s’assurer d’avoir configurer une valeur suffisamment grande dans l’option memory_limit si le script doit traiter des fichiers volumineux. Il est recommandé de n’augmenter cette option que pour les script qui en ont besoin. L’option post_max_size doit également être ajustée si des fichiers volumineux doivent pouvoir être envoyés. Si le fichier est volumineux…

  • Autoloader : Auto-chargement des classes PHP

    par

    dans

    Afin d’éviter de devoir maintenir et faire grossir un fichier dont le seul but est d’inclure toutes les classes d’un projet, il est possible depuis PHP 5 de mettre en place un autoloader. La fonction spl_autoload_register() permet d’enregistrer plusieurs autoloader afin de permettre aux classes et interfaces d’être automatiquement chargées lorsqu’elles sont utiles et qu’elles…

  • Les namespace en PHP

    par

    dans

    Le concept Un espace de nom permet de regrouper plusieurs éléments faisant ayant un sens dans leur ensemble. On peut voir cela comme un dossier regroupant plusieurs fichiers abordant le même thème. Un fichier de même pourrait alors exister dans deux dossiers différents, mais pas dans le même, et pour accéder à l’un ou l’autre…