我正在尝试在facade \ Facades \ Security。
上使用class_alias我试过了:
class_alias("\\Facades\\Security", "Security");
echo Security::Unique();
但是我收到了一个错误(在'......中找不到'安全'类别。)
奇怪的是,当我尝试这个时:
$facade = "Security";
class_alias("\\Facades\\" . $facade, $facade);
echo $facade::Unique();
它确实有效,我从“Unique”功能中获得输出。 所以以某种方式将外观的名称存储在变量中并从那里访问它,解决了问题......
有人可以告诉我为什么吗?
谢谢:)
答案 0 :(得分:0)
假设您正在使用类名的namespace
..,所以不需要转义(\
),请尝试此代码
class_alias("\Facades\Security", "Security");
echo Security::Unique();
您还需要在别名类namespace
中添加B
,请参阅示例代码
<?php
namespace Facades;
class Security {
public static function Unique(){
return "Test return";
}
}
class_alias("\Facades\Security", "\Facades\B");
echo B::Unique();
?>