如何在Yii框架中从path Alias的小部件内部以通用的方式解析真实路径。一般来说,我的意思是,小部件可以安装在web应用程序的components
文件夹或模块的components
文件夹中,而无需调整其代码。例如
Yii::getPathOfAlias('application.components.timepicker.assets');
如果我把我的小部件安装在web应用程序的components
文件夹中,效果很好,但如果我把它放在某个模块的components
文件夹中,这就不起作用了。有没有一种方法可以跳过application.components
,比如:
Yii::getPathOfAlias('timepicker.assets');
并进行任何合理的额外修改。
Yii要求路径别名是绝对的,因此不能使用timepicker.assets
。解决方案是在主组件类中创建自己的路径别名:
<?php
Yii::setPathOfAlias('timepicker', dirname(__FILE__));
class ETimepicker
{
....