class_alias - PHP出了点问题

时间:2014-12-06 15:06:19

标签: php alias

我正在尝试在facade \ Facades \ Security。

上使用class_alias

我试过了:

class_alias("\\Facades\\Security", "Security");
echo Security::Unique();

但是我收到了一个错误(在'......中找不到'安全'类别。)

奇怪的是,当我尝试这个时:

$facade = "Security";
class_alias("\\Facades\\" . $facade, $facade);
echo $facade::Unique();

它确实有效,我从“Unique”功能中获得输出。 所以以某种方式将外观的名称存储在变量中并从那里访问它,解决了问题......

有人可以告诉我为什么吗?

谢谢:)

1 个答案:

答案 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();
?>

DEMO