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";