gpt4 book ai didi

PHP Composer 包含定义了 "use namespace as"语句的文件,附加到每个文件

转载 作者:行者123 更新时间:2023-12-04 17:00:34 36 4
gpt4 key购买 nike

我知道你可以使用 Composer 的 filesevery file 中自动包含函数或定义的方案.

我想更进一步,而不必手动编写 use classname as在单个文件中再次声明。这是我的理想设置:
/composer.json :

{
"require": {
"slim/slim": "2.*"
}
"autoload": {
"files": ["init.php"]
}
}
/init.php :
use Slim\Slim as Slim;
use Slim\Route as Route;
define("RYAN","BRODIE");
/example.php :
require '/vendor/autoload.php';
echo RYAN; // ✔ outputs "BRODIE"
new Slim(); // × Fatal error: Class 'Slim' not found

这样,每当我将新的命名空间或类添加到现有命名空间时,我都可以将其添加到 init.php然后像我希望的那样在所有存储库中使用它。

最佳答案

除非您修改 PHP 运行时,否则这是不可能的。 namespaceuse声明仅在它们出现的物理文件中有效。这些声明不跨越 include s。如果他们这样做了,您将在管理 namespace 和别名方面遇到真正的噩梦。

在每个文件的顶部声明这些是您必须忍受的。大多数具有与 PHP 命名空间相似的特性的语言都这样做。

Link to documentation .

关于PHP Composer 包含定义了 "use namespace as"语句的文件,附加到每个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17678088/

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