A large crowd of people dressed in medieval-style clothing, including robes, cloaks, and hats, walking in a procession through an ornate, dimly lit cathedral-like structure with arched ceilings and sunlight streaming through the windows.

Dans cet article, nous verrons comment utiliser le plugin Queue de CakePHP pour gérer et exécuter efficacement les tâches en arrière-plan. Nous explorerons la structure, l'implémentation et les avantages de cette approche, en nous concentrant sur le répertoire `src/Job` et les composants associés de Willow CMS.


An elderly wizard with a long white beard and pointed hat sits at a desk, surrounded by books and candles, intently studying ancient scrolls and manuscripts.

Cet article couvre le refactoring du code lié au comportement de l'arbre CakePHP et aux slugs dans Willow CMS. À l'origine, les articles et les balises avaient du code dupliqué pour les opérations d'arborescence. Cela a été refactorisé dans OrderableBehavior, rendant le code réutilisable et testable. De même, la gestion des slugs, auparavant dispersée sur plusieurs emplacements, a été consolidée dans le nouveau SlugBehavior. Ce comportement gère la génération, la validation et l'historique des slugs, simplifiant les classes ArticlesTable et TagsTable tout en ajoutant des fonctionnalités telles que la génération automatique de slugs à partir des titres, les slugs personnalisés et le suivi de l'historique des slugs pour un meilleur référencement. Ce refactoring a considérablement réduit la duplication de code et amélioré la maintenabilité et la testabilité.


An elderly wizard with a long white beard sits at a desk in a dimly lit library, writing in an ancient tome by candlelight. The room is adorned with ornate, gilded frames and shelves filled with books.

Les migrations sont un outil de CakePHP permettant de gérer les modifications du schéma de base de données. Elles permettent de modifier la structure de votre base de données de manière contrôlée par version, ce qui facilite le suivi, le partage et le déploiement des modifications dans différents environnements ou installations de votre application. CakePHP dispose d'outils permettant de générer des instantanés de la structure de votre base de données et des migrations entre elles. Étant donné que les migrations peuvent également exécuter des instructions de langage de requête sur votre base de données, elles peuvent également être utilisées pour modifier les données. Willow CMS a évolué au fil de plusieurs versions depuis sa mise en ligne sur ce site, certaines de ces versions nécessitant des modifications du schéma et des données de la base de données. Dans cet article, je vais vous présenter quelques exemples pratiques de la manière dont j'ai géré cela.


Dans cette plongée technique approfondie, nous explorons comment la combinaison de traits PHP et de méthodes magiques peut simplifier considérablement la génération d'URL d'image dans un CMS. L'article décrit l'implémentation d'ImageUrlTrait, une solution intelligente qui remplace le code verbeux et sujet aux erreurs par une approche propre et maintenable. En exploitant le mécanisme de traits de PHP pour la réutilisation du code et les méthodes magiques pour la gestion dynamique des propriétés, la solution permet aux développeurs d'accéder facilement à différentes tailles d'image via des propriétés intuitives telles que $image->smallImageUrl ou $image->largeImageUrl. La transformation d'appels d'aide HTML complexes et imbriqués en une approche simplifiée basée sur les éléments démontre des améliorations significatives en termes de lisibilité et de maintenabilité du code.


Cet article de blog détaille la mise en œuvre de la limitation de débit et du blocage IP dans un CMS Willow, en se concentrant sur les composants clés du code et leur raison d'être. Ces informations sont destinées aux développeurs qui cherchent à mettre en œuvre des mesures de sécurité similaires dans leurs projets. Depuis que Willow a été mis en ligne pour ce site, il a été intéressant de consulter les journaux et de voir toutes les tentatives de Singapour pour trouver des exploits !


Ce guide complet détaille la manière dont les tests PHPUnit sont implémentés dans Willow CMS, à la fois localement et via GitHub Actions. L'infrastructure de test comprend 116 tests et 414 assertions, offrant une assurance qualité robuste. La configuration s'articule autour de cinq composants clés : un fichier de configuration PHPUnit, GitHub Actions pour l'intégration continue, un code de cas de test partagé pour les principes DRY, des tests de contrôleur pour les fonctionnalités critiques et des rapports de couverture de code. Le système utilise l'exécution de tests aléatoires pour garantir l'indépendance et inclut des scénarios de test d'administrateur et de non-administrateur. Le flux de travail GitHub Actions est particulièrement remarquable, exécutant des tests sur plusieurs versions de PHP et intégrant divers contrôles de qualité, notamment PHPStan et PHP CodeSniffer.


Page 1 sur 2, affichant 6 enregistrement(s) sur un total de 7

À propos

Bienvenue sur willowcms.app. Ce site utilise Willow, un système de gestion de contenu que je développe en open source. Vous y trouverez des mises à jour de développement, des fonctionnalités phares et des guides sur l'utilisation de Willow pour vos propres sites.

Articles en vedette

Autre part

  1. GitHub

Feeds

  1. RSS Feed