2018-05-06 21:59:05 2249次浏览 7条回答 0 悬赏 10 金钱

如何在配置文件里设置一次 use yii\helpers\Url后,views视图的页面就不需要再次引入了?

补充于 2018-05-07 20:55

CI里面有autoload.php ,只要配置了就全局加载了,不用每次都引用了。
YII2里面有类似的吗?

最佳答案

  • 回答于 2018-05-08 13:39 举报

    每次都要引入 确实很烦

  • 回答于 2018-05-08 17:03 举报

    你难道就不会变通一下:搞个自己的View基类,把yii\helpers\Url作为属性,那你的所有views视图就可以直接用Url属性了啊,不用再引入了啊

    觉得很赞
  • 回答于 2018-05-08 17:10 举报

    更高级一点,应该可以使用依赖注入容器\Yii::$container,给View组件注入Url属性,这样连基类都不用了,全自动了,更符合你所要求的autoload全局加载。 不过这仅仅是一个思路,我自己没试过

    觉得很赞
  • 回答于 2018-05-08 17:23 举报

    还有个思路:给View组件附加一个Behavior行为,行为里面你把Url作为属性,应该也是可以的。也可以全自动全局加载

    觉得很赞
  • 回答于 2018-05-16 23:59 举报

    我不是很确定了,你可以在layout层引入试试看。

    3 条回复
    回复于 2018-05-20 10:37 回复

    我的也遇到了这个问题!

    回复于 2018-05-20 10:49 回复

    请问最后解决了吗?

    回复于 2018-05-21 01:35 回复

    @一根毛毛闯天下额,还没有,我也正在看的。

  • 回答于 2018-05-21 18:22 举报

    应该是可以的,twig模板就实现了这个功能
    在main.php配置:
    ``
    'globals' => [

                        'html' => '\yii\helpers\Html',
                        'urlHelper' => '\Anlewo\Common\helpers\Url',
                        'LinkPager' => '\yii\widgets\LinkPager',
                        'ArrayHelper' => 'yii\helpers\ArrayHelper',
                        ]
    

    ``
    然后模板里就直接可以使用html::xxxx了,而且是可以在任何模板里

    1 条回复
    回复于 2018-09-02 11:13 回复

    你说的只是针对 twig 这个模板引擎吧。

您需要登录后才可以回答。登录 | 立即注册
80后
助理

80后

注册时间:2012-06-11
最后登录:2023-01-06
在线时长:3小时16分
  • 粉丝1
  • 金钱90
  • 威望0
  • 积分120

热门问题