// spl autoload register
spl_autoload_register( function($classname) {
$class = str_replace( '\\', DIRECTORY_SEPARATOR, str_replace( '_', '-', strtolower($classname) ) );
$classes = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'classes' . DIRECTORY_SEPARATOR . $class . '.php';
if( file_exists($classes) ) {
require_once( $classes );
}
} );
$theme = new Theme;
$model = new Models\Model;
<?php
class Theme {
public function __construct() {
echo "Hello Theme" . "<br/>";
}
}
<?php
namespace Models;
use WP_Query as WP_Query;
class Model {
public function __construct() {
echo "Hello Model";
}
}
// spl autoload register
spl_autoload_register( function($classname) {
$class = str_replace( '\\', DIRECTORY_SEPARATOR, str_replace( '_', '-', strtolower($classname) ) );
$classes = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'classes' . DIRECTORY_SEPARATOR . $class . '.php';
$vendor = str_replace( 'makeitworkpress' . DIRECTORY_SEPARATOR, '', $class );
$vendor = 'makeitworkpress' . DIRECTORY_SEPARATOR . preg_replace( '/\//', '/src/', $vendor, 1 ); // Replace the first slash for the src folder
$vendors = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . $vendor . '.php';
if( file_exists($classes) ) {
require_once( $classes );
} elseif( file_exists($vendors) ) {
require_once( $vendors );
}
} );
$theme = new Theme;
$model = new Models\Model;