PHP - Benutzer Funktionen - Class-Loader ( autoload )

Funktion

Die Methode kann einmalig implementiert werden um automatisiert Klassen zu laden. Dabei werden die namespace von PHP als Zielordner interpretiert, sodass von jedem Punkt der Ordner-Hierachie aus Klassen aufgerufen werden können.

Implementierung

<?php
/**
 * @var $called_class string
 */
spl_autoload_register( function ( $called_class ) {

    $project_name = 'HTML5';
    $prefix = "{$project_name}\\";

    $base_dir = __DIR__ . DIRECTORY_SEPARATOR . 'src\\';

    $str_len = strlen( $prefix );
    $class = substr( $called_class , $str_len );

    $class_file = str_replace( '\\' , '/' , "{$base_dir}{$class}.php" );

    if ( file_exists( $class_file ) ) {
        require_once $class_file;
    }


} );