Autoloader.php <?php use some_company\some_project\IntHolder; spl_autoload_register(function ($class) { // echo "Trying to load $class\n"; $prefix = "some_company\\some_project"; $len = strlen($prefix); if (strncmp($prefix, $class, $len) === 0) { // get the relative class name $relative_class = substr($class, $len+1).".php"; // echo $relative_class; if (file_exists($relative_class)) { require_once($relative_class); } } }); $int_holder = new IntHolder(6); echo $int_holder->my_num ."\n"; IntHolder.php <?php namespace some_company\some_project; class IntHolder { public $my_num; function __construct($a_num) { $this->my_num = $a_num; } }(Edited: 2021-04-07)
<?php namespace some_company\some_project; class IntHolder { public $my_num; function _construct($a_num) { $this->my_num = $a_num; } } ?>
<?php use some_company\some_project\IntHolder; spl_autoload_register(function ($class) { $len = strlen("some_company\\some_project"); if (strncmp($class, "some_company\\some_project\\", $len) !== 0) { return; } $rest = substr($class, $len); $file_name = "./".$rest.".php"; if (file_exists($file_name)) { require_once $file_name; } }); $int_holder = new IntHolder(6); echo $int_holder->my_num ."\n"; ?>
namespace some_company\some_project; class IntHolder{ public $my_num; function __construct($a_num){ $this->my_num = $a_num; } }
use some_company\some_project\IntHolder;
spl_autoload_register(function ($class) { $prefix = 'some_company\\some_project\\'; $len = strlen($prefix); if (strncmp($prefix, $class, $len) !== 0) { return; } else{ $relative_class = substr($class, $len); } $relative_class = substr($class, $len); if(file_exists("./".$relative_class.".php")){ require_once "./".$relative_class.".php"; }
});
$int_holder = new IntHolder(6); echo $int_holder->my_num . "\n";
IntHolder: <?php namespace some_company\some_project;
class IntHolder { public $my_num;
function __construct($a_num) { $this->my_num = $a_num; } } other.php<?php use some_company\some_project\IntHolder;
$prefix = 'some_company\\some_project\\'; $len = strlen($prefix); if(strncmp($class, 'some_company\\some_project\\', $len) !==0) { return; } // get the relative class name $relative_class = substr($class, $len); if(file_exists("./".$relative_class .".php")) { require_once "./".$relative_class .".php"; }});
public $my_num;
function __construct($a_num) { $this->$my_num = $a_num; }}
spl_autoload_register(function($class)) { $len = strlen('some_company\\some_project\\'); if(strncmp($class, 'some_company\\some_project\\',$len) !== 0) { return; //don't know how to autoload file } $rest_of_string = substr($class, $len); if(file_exists("./".$rest_of_string .".php")) { require "./".$rest_of_string .".php" }
}}
$this->my_num=$a_num;} } // // $abc = new IntHolder(5); // echo $abc->my_num; ?>
$prefix = 'some_company\\some_project\\'; $len = strlen($prefix); if(strncmp($class_name, $prefix, $len)!==0){ return ; } $rest = substr($class_name, $len); if(file_exists("./".$rest.".php")){ require_once "./".$rest.".php"; } require_once "./IntHolder.php";});
spl_autoload_register(function ($class) { $prefix = "some_company\\some_project"; $len = strlen($prefix); if (strncmp($prefix, $class, $len) === 0) { // get the relative class name $relative_class = substr($class, $len+1).".php"; // echo $relative_class; if (file_exists($relative_class)) { require_once($relative_class); } }});
$int_holder = new IntHolder(6); echo $int_holder->my_num ."\n";
namespace some_company\some_project;
class IntHolder{ public $my_num;
function __construct($a_num) { $this->my_num = $a_num; }
}
namespace some_company\some_project;
class IntHolder { public $my_num; function __construct($intToHold) { $this->my_num = $intToHold; } }
use some_company\some_project\IntHolder;
spl_autoload_register( function($class) { $len = strlen('some_company\\some_project\\'); if (strncmp($class, 'some_company\\some_project\\', $len) !== 0) { return; } $rest_of_string = substr($class, $len); if (file_exists("./".$rest_of_string .".php")) { require_once "./".$rest_of_string .".php"; } });
$int_holder = new IntHolder(6); echo $int_holder->my_num ."\n";