gpt4 book ai didi

php - 使用 SplClassLoader.php 和命名空间

转载 作者:行者123 更新时间:2023-12-04 17:03:52 26 4
gpt4 key购买 nike

<?php
//The basic Code.
require_once("SplClassLoader.php");
$loader = new SplClassLoader('test', 'lib');
$loader->register();

use test\database\Connector;
?>

<?php
namespace test\database;
class Database {

}
?>


<?php
namespace test\database\Connector;
class Connector extends text\database\Database {

}
?>

我的文件结构是这样的

\

-index.php

-splclassloader.php

\测试

\测试\数据库

\test\database\Database.php

\test\database\Connector.php

它没有加载连接器类。
我在这里不明白的是什么。

最佳答案

如果您尝试自动加载将文件夹映射到 namespace 的类(我假设是这种情况),请确保您的 namespace 仅包含文件夹名称并省略类名称。 use另一方面,语句不会省略类名。

使用 test\database\Connector 的命名空间然后定义一个类 Connector意味着您将使用以下方法实例化对象:

$connecter = new \test\database\Connector\Connector();

我猜你有一个额外的子命名空间 Connector那是不需要的。命名空间 test\database\Connector应该是 test\database .

关于php - 使用 SplClassLoader.php 和命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22469531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com