====== MVC Micro-Framework ====== Ich habe mir ein MVC-Micro-Framework in PHP geschrieben. Mit diesem ist es möglich einfache Datenbank-Einträge zu erzeugen & verwalten, sowie URLs zu Routen und HTML Views zu rendern. * **Download** : {{ :programmieren:php:php-mvc-201109.zip | PHP MVC, Stand 09.11.2020}}, ca 314KB Das Micro-Framework baut auf 3 PHP Bibliotheken auf: * [[https://github.com/vlucas/phpdotenv|PHPDotEnv]] - um .env Dateien laden zu können * [[https://flightphp.com/|FlightPHP]] - für das Routen von URLs * [[https://github.com/bobthecow/mustache.php|Mustache]] - Als Template Engine Weitere Bibliotheken können mit Composer dem Projekt hinzugefügt werden. ===== Benutzung ===== Alle Files sind kommentiert so weit wie notwendig. Da es aber wirklich nur Grundfunktionen bereit stellt, ist nicht viel zu lesen. Funktionsweise: * in ''app/configs.php'' können Einstellungen vorgenommen werden * in ''app/routes.php'' wird eingestellt auf welche URLs die App hören soll * in ''app/models/'' liegt ein Demo Model, dieses kopieren und gewünschte eigene Datenbank-Struktur angeben * Tabellen zu den Models werde erzeugt mit ''deinModel->install()'' * In ''app/controller/'' liegt ein Demo Controller, der zeigen soll, wie man Daten aus Models laden kann und diese an den View-Renderer übergibt * In ''app/views/'' liegen die Template-Files, die vom Controller gerendert werden * in ''public/'' liegen alle Dateien, die aus dem Web verfügbar sein sollen * in ''vendor/'' liegen nur Bibliotheken von Composer fürs Auto-Load Wie der Name "MVC" schon beschreibt wird 99% der Arbeit in den Ordnern Model, View & Controller statt finden. Diese sind, was die eigentliche App ist.