【发布时间】:2019-03-05 19:47:13
【问题描述】:
我阅读了 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`.
我找不到将脚本定向到命名空间类的方法。 提前感谢您的帮助。
【问题讨论】:
标签: php namespaces