Ankündigung
Einklappen
Keine Ankündigung bisher.
PHP Video | Framework für Anfänger
Einklappen
Neue Werbung 2019
Einklappen
X
-
PHP Video | Framework für Anfänger
Guten Morgen,
im heutigen Video stelle ich mein kleines Framework vor welches nur mit Funktionen umgesetzt ist. Das Ziel des Frameworks ist es Anfängern zu helfen einige Begriffe kennen zu lernen um später dann auf ein richtiges Framework umsteigen zu können. Also quasi ein "Proxy" Framework
Viel Spaß mit dem Video
https://youtu.be/xDjQ8qHLO7A
Stichworte: -
-
Zitat von sboesch Beitrag anzeigen
Habe zwar nichts zum Video selbst zu sagen, allerdings funktioniert dein Channel-Link in der Signatur nicht
https://www.youtube.com/witalimik
-
Zitat von BlackScorp Beitrag anzeigen
danke, hatte ich auch früher drin, aber fand den Vorschlag von hier nicht schlecht https://www.php.de/forum/php-de-inte...-0-autoloading desswegen habe ich es eingebaut
https://www.youtube.com/witalimik
- 1 Likes
Einen Kommentar schreiben:
-
Zitat von Zeichen32 Beitrag anzeigenOkay, war auch nur ein Hinweis das es auch ohne Fake Autoload geht.
Einen Kommentar schreiben:
-
Okay, war auch nur ein Hinweis das es auch ohne Fake Autoload geht.
Einen Kommentar schreiben:
-
Zitat von Zeichen32 Beitrag anzeigenSo lange du composer dump-autoload nicht ausgeführt hast, solltest du eigentlich nur die Datei aus dem Array nehmen müssen, damit es on-the-fly funktioniert.
Code:"autoload": { "files": ["source/ModuleA/Module.php","source/ModuleB/Module.php","source/ModuleC/Module.php"] }
https://github.com/laravel/laravel/b....php#L137-L178 gut die Injzieren da, ich mache ein fake autoload um Dateien zu includen. Ich weiß ist anders es geht aber darum dass Module über eine Datei aus dem Konfigurationsverzeichniss eingebunden werden.
Einen Kommentar schreiben:
-
So lange du composer dump-autoload nicht ausgeführt hast, solltest du eigentlich nur die Datei aus dem Array nehmen müssen, damit es on-the-fly funktioniert.
Einen Kommentar schreiben:
-
Zitat von Zeichen32 Beitrag anzeigen
In Composer kann dies auch so gelöst werden. Dort dann einfach die Module Datei angeben wo die anderen requires drin stehen.
Code:"autoload": { "files": ["src/helpers.php"] }
Einen Kommentar schreiben:
-
Zitat von JaMa Beitrag anzeigenBei der Route zum laden von Assets ist ein Path Traversal Angriff möglich. Der Router sollte das direkt filtern, ohne es überhaupt an die Actions weiter zu geben.
PHP-Code:class Module{static function load(){}}; //this line is required for autoloading!!
Code:"autoload": { "files": ["src/helpers.php"] }
Einen Kommentar schreiben:
-
Zitat von JaMa Beitrag anzeigen
Halte ich für keine gute Idee. Mir fällt kein Use-Case ein bei dem "../" o.ä. erlaubt sein sollten, deshalb kann der Router das eigentlich direkt filtern.
Filtern kannst du recht einfach indem du den gegebenen Pfad mit dem Pfad von realpath vergleichst.
Zitat von JaMa Beitrag anzeigenBzgl. den Modulen ist es m.E. nach nicht schön ein Framework aus Funktionen aufzubauen aber dann rein für das Autoloading eine Modulklasse mit einzuführen. Das ist einfach nur unnötiger Boilerplate, den gerade Anfänger gerne mal vergessen und sich dann lange wundern warum die Action nicht funktioniert.
Einen Kommentar schreiben:
-
Zitat von BlackScorp Beitrag anzeigenAch stimmt,muss ich noch nachpflegen, ich glaube das wird schwierig den Filter im Router unterzubringen, werde es wohl in der Action dann anpassen.
Filtern kannst du recht einfach indem du den gegebenen Pfad mit dem Pfad von realpath vergleichst.
Bzgl. den Modulen ist es m.E. nach nicht schön ein Framework aus Funktionen aufzubauen aber dann rein für das Autoloading eine Modulklasse mit einzuführen. Das ist einfach nur unnötiger Boilerplate, den gerade Anfänger gerne mal vergessen und sich dann lange wundern warum die Action nicht funktioniert.
Einen Kommentar schreiben:
-
Zitat von JaMa Beitrag anzeigenBei der Route zum laden von Assets ist ein Path Traversal Angriff möglich. Der Router sollte das direkt filtern, ohne es überhaupt an die Actions weiter zu geben.
Zitat von JaMa Beitrag anzeigenPHP-Code:class Module{static function load(){}}; //this line is required for autoloading!!
https://www.php.de/forum/php-de-inte...05#post1558905
Ich belasse es erstmal so und ändere das eventuell später. Mal gucken
Einen Kommentar schreiben:
-
Bei der Route zum laden von Assets ist ein Path Traversal Angriff möglich. Der Router sollte das direkt filtern, ohne es überhaupt an die Actions weiter zu geben.
PHP-Code:class Module{static function load(){}}; //this line is required for autoloading!!
Einen Kommentar schreiben:
-
Ich muss gestehen, ich habe kein php 7,
kann also nicht testen.
Einen Kommentar schreiben:
-
Zitat von tomBuilder Beitrag anzeigenMoin Blackscorp,
ich muss ehrlich zugeben, ich hab nicht ganz verstanden, wie man das installieren soll, geschweige denn wie es functioniert.
eine INSTALL.md oder eine etwas ausführliche REAMDE.md hätte mir da möglicherweise geholfen.
Einen Kommentar schreiben:
Einen Kommentar schreiben: