Moin,
vor einigen Jahren habe ich mich dazu entschlossen, ein eigenes MVC PHP-Framework (PSR-4) )zu entwickeln mit dem Ziel, dass es viele Funktionen bietet, einfach in der Anwendung und leicht zu erweitern ist. Mein Anspruch ist es, dass dieses Framework modern, eine sehr hohe Testabdeckung und eine hohe Codequalität dank statischer Code-Analyse hat.
Das Framework ist bereits seit vielen Jahren bei uns im Unternehmen für RESTful APIs im Einsatz. Zusätzlich basiert mein eigenes CMS (AsteriosCMS - welches später evt. auch Open-Source sein wird), welches bei einigen Kundenwebseiten im Einsatz ist, auf AsteriosPHP.
Da aktuell ein komplettes Refactoring stattfindet, ist es noch nicht öffentlich verfügbar.
Wer hier Interesse hat, der kann ein fertiges Core-Paket bekommen. Auch bin ich offen für weitere Entwickler (neben mir ist bereits ein weiterer Enwickler mit im Boot).
Gerne möchte ich Euch über den aktuellen Funktionsumfang informieren.
Bereits implementiert:
- Assets
- Einfache Einbindung von Assets wie CSS, JS, Images für Views (HTML-Code)
- Cast
- Klasse zum typisieren von Daten
- Collections
- Umfangreiche Möglichkeit um Daten (Arrays) mit einer Umfangreichen API zu modifizieren, reduzieren, zählen oder sortieren
- Config
- Config Klasse um Konfigurationen zentral zu nutzen
- Controller
- RESTful APIs sind zum Beispiel sehr einfach zu implementieren
- Date
- Klasse mit Datumsfunktionen
- Db-Klasse (derzeit nur mysqli)
- DDEV Unterstützung
- DDEV Unterstützung für die einfache lokale Entwicklung mittels Docker
- Debug
- Human-Readable Debug Ausgaben
- DeviceDetect
- Klasse zum Ermittelns eines Gerätes (Desktop, Smartphone, Tablet, Browser etc)
- Env
- Möglichkeit der Nutzung von sogenannten .env Konfigurationen
- File
- Klasse mit einigen nützlichen Funktionen für Dateioperationen
- Installer
- Klasse zur Installation seiner eigenen Web-Applikation
- Installer-Check
- Database Migrations
- Database Seeder
- wird bereits Erfolgreich von AsteriosCMS genutzt
- InputService
- Eingaben via POST, PUT, GET usw. bereinigen, Default-Werte setzen usw.
- Ip
- Klasse für IP Handling inkl. Erkennung der echten IP (trotz Proxy)
- JWT
- Klasse zur Nutzung von JWT (Json Web Token)
- Logger
- Flexibles Logging mit diveresen Log-Level
- Mail
- Mail-Klasse inkl. SMPT-Versand, & Templates
- Math
- Klasse für viele mat. Berechnungen wie km/h, mp/h, Temperaturen, Flächen, Brutto, Netto, MwSt. Prozentsatz, Prozentwert
- Model
- ORM Modelklasse mit vielen Funktionen
- Request
- Senden von Requests an zum Beispiel andere APIs
- Response
- Wird für die Verarbeitung von Requests genutzt
- Router
- Router um zum Beispiel API-Endpunkte zu definieren (via Config)
- Middlewares möglich
- Security
- Klasse für automatisches Input / Output-Filtering / XSS-Cleaning usw.
- Session
- Klasse zum einfachen Umfang mit PHP-Sessions
- Str
- Klasse für diverse String Funktionen
- Validation
- Komplexe Validierungen sind hiermit einfach möglich
- View
Derzeit in der Entwicklung
- DI Container
- Neue Db-Klasse mit austauschbarem DBMS Backend
- Views
- Nutzung von Template Engines wie Twig oder Blade
- Console
- Umfangreiche Konsolen-Klasse
- Scheduler
- Geplante Aufgaben flexibel erstellen und konfigurieren