PHP Tutorial | PHP Autoload für Anfänger

preview_player
Показать описание
In diesem Tutorial zeige ich, wie ihr in PHP Klassen und Funktionen bei Bedarf laden könnt und keine includes oder requires mehr im Code verwenden müsst.

*** Links zum Video ***

Weitere Themenvorschläge und/oder Kooperationen in die Kommentare.

#PHP #PSR-0 #autoloader

*** Keywords ***
Vitalij Mik, PHP, PHP Tutorials, PHP Tipps,PHP Deutsch,PHP Lernen, PHP Autoloading, funktionen in PHP Laden, was ist PSR, PSR-0 Standard, Autoload funktionen, spl_autoload_register, __autoload(), wie lade ich automatisch klassen in PHP, PHP auto include, PHP auto require, require_once, include_once, include, require
Рекомендации по теме
Комментарии
Автор

Wie viele Fehler beim Schneiden habe ich übersehen? :D Und kennt ihr den PSR-0 Standard?

VitalijMik
Автор

Hallo Vitalij. Irgendwie wird mir nicht klar, was das mit dem Hack für autoloading von Funktionen auf sich hat. Wenn ich eine Datei include, die Funktionen enthält... wozu braucht man da noch den autoloadregister und eine Klasse, über die man Zugang zum File macht?... oder ist bei mir an dieser Stelle Salat im Kraut entstanden? Ich habs auch irgendwie nicht hin bekommen anhand der Erzählung die Logik herzustellen. Habe bereits versucht alles umzustellen, namespaces .. Files in unterschiedliche Ebenen versenkt, Backslashes umgedreht, aus einem Ordner alles gecallt... etc... nichts funktioniert wie ichs erwartet habe. Ich bekomme nur Warnings und Errors. Würde mich sehr freuen wenn du einen kleinen Codeshnipsel postest der als ganzes zu sehen ist(wie ich unten), und man sich nicht ein Teil davon sieht und ein Teil vorstellen muss. Vielleicht habe ich irgendwo Fehler gemacht, aber da ichs nicht im Ganzen sehe, weiß ich nicht ob in wieweit und wo. Danke schon voraus. Folgendes habe ich gemacht:

Betriebssystem win10

*ordnerstruktur*
root\classes\ordner1\ordnerB

in root\*db.php*
namespace ordner1\ordnerB;

final class db{ const functions =""; }
function function1(){ echo 'hello1'; }
function function2(){ echo 'hello2'; }


in ordnerB\*index.php*
use ordner1\ordnerB\db;
function loader($className){
include $className . '.php';
}
#dachte der register wäre notwendig, ist er?
db::functions; #wenn register notwendig ist, dann wird der ja so getriggert?
function1();
function2(); #und wenn das so alles gedacht ist wie bisher in meinen Kommentaren, dann würde man ja so die Funktion aufrufen oder?

#und an dieser Stelle frage ich mich, warum nicht einfach?...
include 'meinefunktionen.php';
funktion1();
function2();

Ich versuche einen Vorteil von dem kleinen "hack" zu erdenken... aber irgendwie verfehle ich die Logik..

MfG Max

justmusic
Автор

Irgendwie bin ich da wie mit Brett vorm Kopf. Kann man namespaces auch für Unterverzeichnisse ansetzen, deren Ursprung noch nicht klar sind? Das Autoload ist vielversprechend, verwende da aber noch gemischt Architektur - teil mit Require, etc., teils Autoload, hoffe das gibt kein Problem. Den ganzen Klotz neu schreiben wäre ein Alptraum

unicardio-h