Php

Dev back

Composition over inheritance in final classes

Cet article explore l'utilisation des classes finales dans des packages PHP comme 'moneyphp/money' et aborde la notion de composition plutôt qu'héritage pour intégrer ces classes dans le code d'application. Avec les classes finales, l'approche classique d'extension de classe n'est plus possible, d'où la nécessité de créer une classe intermédiaire qui utilise composition pour établir un lien avec la classe finale. L'auteur décrit comment créer cette classe proxy et comment appeler les méthodes de la classe finale en utilisant des méthodes magiques de PHP, tout en veillant à garantir que la méthode existe avant l'appel. L'article invite les développeurs à partager leurs propres solutions face à cette problématique.

Dev back

Your first Laravel 9 Application

Ce tutoriel guide les débutants dans la création d'une application Laravel 9 à partir de zéro. Il aborde la configuration nécessaire, la création de projets avec Composer, la gestion des routes et des contrôleurs, ainsi que l'utilisation de SQLite pour la base de données. Les lecteurs apprendront à développer une application de collecte de signets avec des fonctionnalités pour ajouter, visualiser et organiser des liens favoris. Ce processus met l'accent sur l'expérience développeur et la personnalisation.

Dev back

Fun with Refactoring

Cet article présente des techniques de refactoring dans un projet Laravel, mettant l'accent sur l'amélioration de la performance et de la gestion du code. À travers des exemples concrets, il montre comment moderniser le code en utilisant des fonctionnalités de PHP 8.0, améliorer la lisibilité avec des types de retour et faire des modifications progressives tout en veillant à ce que les tests restent opérationnels.

Dev back

Creating a Password Generator

Cet article propose un tutoriel sur la création d'un générateur de mots de passe mémorables et sécurisés en utilisant PHP et Laravel. Il aborde la mise en place d'une interface standard pour générer des mots de passe à partir de noun et d'adjectifs, et présente deux méthodes pour créer ces mots de passe : une méthode mémorable et une méthode plus sécurisée. L'article explique également comment ajouter un comportement partagé avec un Trait, comment configurer un service provider et un facade pour faciliter l'utilisation de ce générateur dans une application Laravel. Bien que l'article mentionne une utilisation anecdotal du générateur, il avertit que ce n'est pas conseillé pour des environnements de production en raison des faiblesses potentielles dans la sécurité.

Dev back

Using DTOs to keep context

L'article traite de l'utilisation des Data Transfer Objects (DTOs) dans PHP 8 pour améliorer la lisibilité et la sécurité du code. Il explique comment créer des objets de données immuables pour maintenir le contexte et la sécurité des types dans les applications. L'auteur partage des exemples pratiques, notamment l'utilisation d'ULIDs pour identifier des objets et évoque l'importance de la validation des données. Il propose également la création d'une Data Object Factory pour simplifier la gestion des objets de données dans des applications plus complexes. L'approche favorise une structure claire et maintenable pour le développement d'applications.

Autre

Steve vs Matt — How two developers approach the same problem

Dans cet article, deux développeurs, Steve et Matt, comparent leurs approches respectives pour résoudre le même problème de codage, en utilisant un générateur de mots de passe comme exemple. Steve privilégie l'utilisation des interfaces pour créer des solutions extensibles, tandis que Matt critique cette approche, suggérant qu'elle peut conduire à une complexité inutile. L'article met en évidence les possibles sur-architectures pouvant survenir lors de la création de code et propose une réflexion sur les styles de codage différents. Cette comparaison vise à encourager une conversation constructive et l'apprentissage mutuel entre développeurs.

Dev back

Using OpenAI in Laravel

Cet article explore l'intégration de l'API OpenAI dans les applications Laravel, notamment pour la génération de textes publicitaires et le traitement du langage naturel. Il décrit comment configurer le client OpenAI, créer des classes pour transformer les textes en publicités, et behandelt les meilleures pratiques pour utiliser AI dans le développement d'applications. L'auteur propose également des conseils pour améliorer l'interaction avec l'API et souligne l'importance de la conception de modèles adaptés.

Dev back

Getting started with PHPInsights

PHPInsights est un outil essentiel pour analyser et améliorer la qualité du code PHP, hybride avec des frameworks comme Laravel et Symfony. Il s'agit d'un package Composer facile à utiliser qui permet aux développeurs, qu'ils soient débutants ou experts, de vérifier la qualité de leur code, leur style, et l'architecture de leur application. Avec une configuration minimale requise, PHPInsights peut être exécuté directement à partir de la ligne de commande et permet d'adapter les analyses selon les besoins spécifiques de chaque projet. Cet outil fournit aussi des scores de complexité cyclomatique pour évaluer la facilité de compréhension du code. Le projet fait l'objet d'améliorations continues de la part de ses mainteneurs.

Dev back

Managing Routes in a large Laravel Application

L'article présente des stratégies pour gérer les routes dans une grande application Laravel, en utilisant des fournisseurs de services de routes, des chargements de fichiers et des groupes de routes. Il souligne les défis liés à la complexité croissante des fichiers de routes et propose une méthode de groupes de routes comme la meilleure approche pour maintenir la lisibilité et la clarté dans la gestion des routes d'une application. Des exemples pratiques sont fournis pour illustrer chaque méthode.

Dev back

Laravel Response Classes

Cet article aborde l'utilisation des classes de réponse dans Laravel pour simplifier la gestion des réponses API. Il propose une approche plus déclarative pour la création de réponses, en évitant les fonctions auxiliaires au profit de classes spécifiques. En utilisant des classes de réponse personnalisées, les développeurs peuvent réduire la duplication de code et améliorer la lisibilité, tout en respectant les standards de typage et d'efficacité de la mémoire. Des exemples pratiques illustrent la méthodologie et les avantages des classes de réponse dans Laravel.