Php 如何在yii中实现路径别名

Php 如何在yii中实现路径别名,php,yii,Php,Yii,根据这个链接,我几乎实现了结构。但是路径别名让我困惑。有人能解释一下我怎样才能做到这一点吗 我想让前端的控制器从公用文件夹访问这些模型 感谢使用,要设置路径别名: Yii::setPathOfAlias('site', $site); 您可以在前端的config main.php中执行此操作: 正如在没有自动加载的情况下所要求的那样,在这种情况下,您必须首先包含模型,然后才能实例化它。为了包含,我们可以使用Yii::import($alias),它实际上做了几乎相同的事情() 在第一次引用(

根据这个链接,我几乎实现了结构。但是路径别名让我困惑。有人能解释一下我怎样才能做到这一点吗

我想让前端的控制器从公用文件夹访问这些模型

感谢使用,要设置路径别名:

Yii::setPathOfAlias('site', $site);
您可以在前端的config main.php中执行此操作:

正如在没有自动加载的情况下所要求的那样,在这种情况下,您必须首先包含模型,然后才能实例化它。为了包含,我们可以使用
Yii::import($alias)
,它实际上做了几乎相同的事情()

在第一次引用(通过PHP自动加载机制实现)之前,实际上不包括导入的类定义

因此,要使用在common/models/中定义的DummyModel类:


我建议在main.php配置中自动加载,指定导入数组不会降低性能,因为只有在引用模型时才会包含该模型。

定义自己的路径别名的最佳方法是在/config/main.php中添加“别名”数组:

然后,您可以在代码中的任何位置获得别名的路径:

echo Yii::getPathOfAlias('myalias');

有关别名的更多信息。

最好的方法是自动加载,这意味着只有在引用该类时才会包含该类。但否则,您必须首先导入它,然后使用它,才能更新答案。
Yii::import('site.common.models.DummyModel');
$model = new DummyModel;
return array(
    'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
    'name'=>'Project name',
    'aliases'=>array(
        'myalias'=>'/path/to/some/folder',
    ),
    'import'=>array(
        'myalias.models.*'
    )
    ...
echo Yii::getPathOfAlias('myalias');