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.

In diesem Beitrag sehen wir uns an, wie man mit dem Queue-Plugin von CakePHP Hintergrundaufgaben effizient verwalten und ausführen kann. Wir untersuchen die Struktur, Implementierung und Vorteile dieses Ansatzes, wobei wir uns auf das Verzeichnis `src/Job` und verwandte Komponenten von Willow CMS konzentrieren.


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.

Dieser Beitrag behandelt die Code-Refaktorierung im Zusammenhang mit dem CakePHP-Baumverhalten und den Slugs in Willow CMS. Ursprünglich hatten sowohl Artikel als auch Tags doppelten Code für Baumoperationen. Dieser wurde in OrderableBehavior umgestaltet, wodurch der Code wiederverwendbar und testbar wurde. Ebenso wurde die Slug-Verwaltung, die zuvor über mehrere Standorte verstreut war, in das neue SlugBehavior konsolidiert. Dieses Verhalten behandelt die Slug-Generierung, Validierung und den Verlauf, vereinfacht die Klassen ArticlesTable und TagsTable und fügt Funktionen wie die automatische Slug-Generierung aus Titeln, benutzerdefinierte Slugs und Slug-Verlaufsverfolgung für eine bessere SEO hinzu. Diese Umgestaltung reduzierte die Code-Duplikation erheblich und verbesserte die Wartbarkeit und Testbarkeit.


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.

Migrationen sind ein Tool in CakePHP zum Verwalten von Datenbankschemaänderungen. Sie bieten eine versionskontrollierte Möglichkeit, Ihre Datenbankstruktur zu ändern, wodurch es einfacher wird, Änderungen in verschiedenen Umgebungen oder Installationen Ihrer Anwendung zu verfolgen, freizugeben und bereitzustellen. CakePHP verfügt über Tools zum Generieren von Snapshots Ihrer Datenbankstruktur und Migrationen zwischen ihnen. Da Migrationen auch Abfragesprachenanweisungen für Ihre Datenbank ausführen können, können sie auch zum Ändern von Daten verwendet werden. Willow CMS hat seit der Veröffentlichung für diese Site mehrere Versionen durchlaufen, wobei einige dieser Versionen Änderungen am Datenbankschema und an den Daten erforderten. In diesem Beitrag erkläre ich Ihnen anhand einiger praktischer Beispiele, wie ich damit umgegangen bin.


In diesem technischen Deep-Dive untersuchen wir, wie die Kombination von PHP-Traits und magischen Methoden die URL-Generierung von Bildern in einem CMS drastisch vereinfachen kann. Der Artikel beschreibt die Implementierung von ImageUrlTrait, einer cleveren Lösung, die ausführlichen, fehleranfälligen Code durch einen sauberen, wartbaren Ansatz ersetzt. Durch die Nutzung des Trait-Mechanismus von PHP zur Code-Wiederverwendung und magischer Methoden zur dynamischen Eigenschaftsbehandlung ermöglicht die Lösung Entwicklern den einfachen Zugriff auf verschiedene Bildgrößen über intuitive Eigenschaften wie $image->smallImageUrl oder $image->largeImageUrl. Die Umwandlung von komplexen, verschachtelten HTML-Hilfsaufrufen in einen optimierten elementbasierten Ansatz zeigt erhebliche Verbesserungen bei der Lesbarkeit und Wartbarkeit des Codes.


Dieser Blogbeitrag beschreibt ausführlich die Implementierung von Ratenbegrenzung und IP-Blockierung in einem Willow CMS und konzentriert sich dabei auf die wichtigsten Codekomponenten und deren Gründe. Diese Informationen richten sich an Entwickler, die ähnliche Sicherheitsmaßnahmen in ihren Projekten implementieren möchten. Seit Willow für diese Site live geschaltet wurde, war es interessant, die Protokolle anzusehen und all die Versuche aus Singapur zu sehen, Exploits zu finden!


In diesem umfassenden Leitfaden wird detailliert beschrieben, wie PHPUnit-Tests in Willow CMS sowohl lokal als auch über GitHub Actions implementiert werden. Die Testinfrastruktur umfasst 116 Tests und 414 Behauptungen und bietet so eine robuste Qualitätssicherung. Das Setup dreht sich um fünf Schlüsselkomponenten: eine PHPUnit-Konfigurationsdatei, GitHub Actions für kontinuierliche Integration, gemeinsam genutzten Testfallcode für DRY-Prinzipien, Controller-Tests für kritische Funktionen und Code Coverage Reporting. Das System verwendet zufällige Testausführungen, um Unabhängigkeit zu gewährleisten, und umfasst sowohl Testszenarien für Administratoren als auch für Nicht-Administratoren. Besonders hervorzuheben ist der GitHub Actions-Workflow, der Tests über mehrere PHP-Versionen hinweg durchführt und verschiedene Qualitätsprüfungen einschließlich PHPStan und PHP CodeSniffer umfasst.


Seite 1 von 2, zeigt 6 Datensatz(e) von 7 insgesamt

Um

Willkommen bei willowcms.app. Diese Site verwendet Willow – ein Content-Management-System, das ich im Freien entwickle. Hier finden Sie Entwicklungsupdates, Feature-Highlights und Anleitungen zur Verwendung von Willow für Ihre eigenen Sites.

Ausgewählte Beiträge

Anderswo

  1. GitHub

Feeds

  1. RSS Feed