Я читаю на SO и экспериментирую с некоторыми ответами, но мой код не работает:
У меня есть два класса: C:\Apache24\htdocs\phpdb\classes\dbconnection\mysqlconnection\MySqlConnection.php
и C:\Apache24\htdocs\phpdb\classes\utilities\mysqlutilities\CreateTableDemo.php
.
В CreateTableDemo у меня есть следующий код:
namespace utilities\mysqlutilities;
use dbconnection\mysqlconnection\MySqlConnection as MSC;
spl_autoload_register(function($class){
$class = 'classes\\'.$class.'.php';
require_once "$class";
});
Я получаю следующее предупреждение:
`Warning: require_once(classes\dbconnection\mysqlconnection\MySqlConnection.php): failed to open stream: No such file or directory in C:\Apache24\htdocs\phpdb\classes\utilities\mysqlutilities\CreateTableDemo.php on line 10`.
Я понимаю предупреждение: скрипт не находит класс пространства имен в той же папке, поэтому я изменил spl_autoload_register
, чтобы найти относительный путь: __DIR__."\\..\\..\\classes\\.$class.'.php'
. Я получаю
warning: `Warning: require_once(C:\Apache24\htdocs\phpdb\classes\utilities\mysqlutilities\..\..\classes\dbconnection\mysqlconnection\MySqlConnection.php): failed to open stream: No such file or directory in C:\Apache24\htdocs\phpdb\classes\utilities\mysqlutilities\CreateTableDemo.php on line 10`.
Я не могу найти способ направить сценарий к классу пространства имен.
Заранее спасибо за любую помощь.