我发现,在Yii 2中有一个有趣的命名空间应用程序。例如,
use app\assets\AppAsset;
http://www.yiiframework.com/doc-2.0/guide-concept-autoloading.html我找到了信息
使用基本项目模板时,您可以将您的课程置于其中 顶级命名空间应用程序,以便它们可以由Yii自动加载 无需定义新别名。这是因为 @app是一个 预定义的别名,以及app \ components \ MyClass等类名 解析为类文件AppBasePath / components / MyClass.php , 根据刚刚描述的算法。
我还找到了http://www.yiiframework.com/doc-2.0/guide-concept-aliases.html#predefined-aliases
@app,当前正在运行的应用程序的基本路径。
而且,当我打电话
print_r(Yii::getAlias("@app"));die;
它的打印
/home/u1326jyq/domains/lifesim.biz/public_html/dev
我是否正确,名称空间app
等于/home/u1326jyq/domains/lifesim.biz/public_html/dev
?
但是,如果我尝试执行像
这样的脚本use home\u1326jyq\domains\lifesim.biz\public_html\dev\assets\syntaxhighlighter\SyntaxhighlighterAsset;
SyntaxhighlighterAsset::register($this);
它因500错误而失败。
Yii2中app
命名空间的定义在哪里以及如何定义自定义myCustomApp
命名空间,它将等于我的路径/home/u1326jyq/domains/lifesim.biz/public_html/dev
,将其与代码
use myCustomApp\assets\syntaxhighlighter\SyntaxhighlighterAsset;
必须等于代码
define('__ROOT__', dirname(dirname(__FILE__)));
require_once(__ROOT__.'/assets/syntaxhighlighter/SyntaxhighlighterAsset');
? 非常感谢你!