Laravel究竟如何使类别名成为可能?

时间:2014-10-06 17:39:37

标签: php laravel

我的意思是,如何在不使用控制器中的FQN的情况下访问Validator外观?

即,为什么验证器:: make工作,不需要照亮\ blah \ facades \ validator :: make()

从PHP的角度来看,这是如何实现的?仅供参考,我对如何通过Laravel的App类别名化一个类感兴趣,而不是它的机制。是通过自定义自动加载功能完成的吗?

2 个答案:

答案 0 :(得分:1)

我相信它是通过class_alias()函数完成的。

http://php.net/manual/en/function.class-alias.php

答案 1 :(得分:0)

准确地说,它在以下方面实施:

\vendor\laravel\framework\src\Illuminate\Foundation\AliasLoader.php

文件,使用class_alias()函数作为@ user3158900提到:

public function load($alias)
{
    if (isset($this->aliases[$alias]))
    {
        return class_alias($this->aliases[$alias], $alias);
    }
}