Yii - setPathOfAlias中的getPathOfAlias

nav*_*ink 3 php yii

我正在尝试将Yii中的别名路径设置为我的文件上传目录

testweb
   - ...
   - protected
   - ...
   - myupload

所以我把它放在protected/config/main.php中:

Yii::setPathOfAlias('upload_dir', Yii::getPathOfAlias('webroot') . '/myupload');
Run Code Online (Sandbox Code Playgroud)

但是当我回复别名时,我只得到'/ myupload'

echo Yii::getPathOfAlias('upload_dir'); //only returns /myupload
Run Code Online (Sandbox Code Playgroud)

Mic*_*rtl 5

您无法getPathOfAlias()main.php配置文件中调用,因为路径别名是在构造函数中创建的CApplication.但是当main.php包含它时,构造函数还没有被调用.

配置路径别名的正确方法是使用aliases您的属性main.php.在你的情况下,你可以这样做:

return array(
    'aliases' => array(
        'upload_dir' => 'webroot.myupload',
    ),
    ...
Run Code Online (Sandbox Code Playgroud)

另请注意,您可以(并且应该)使用别名的点表示法.