【问题标题】:Is this acceptable to be placed in a view?这是否可以接受放置在视图中?
【发布时间】:2011-04-17 14:28:58
【问题描述】:

Kohana(可能还有其他框架)允许您获取路由并回显其 URL,从而创建易于维护的路由。

<a href="<?php echo url::base() . Route::get('contact'); ?>">Contact</a>

在视图中是否可以,或者我应该将它分配给一个变量,然后将变量传递给视图?

谢谢

【问题讨论】:

    标签: php model-view-controller kohana-3


    【解决方案1】:

    您没有在此处执行逻辑。这是完全可以接受的。

    当然,如果您在控制器中创建变量,您的视图代码会更简洁一些,但恕我直言,这确实很好。

    【讨论】:

    • 酷,我一直这样做,但在阅读了马特对my answer 的评论后,我开始将它们传递给查看。但它使我的视图变量相当混乱,似乎没有必要。
    【解决方案2】:

    我觉得这样的连接是不必要的。似乎 url::base() 将在网站上的每个链接中使用。为什么没有一种自动添加它的方法?类似Route::url("contact")
    在模板中使用这样的构造是可以的。

    【讨论】:

      【解决方案3】:

      你可以创建一个函数或静态方法来生成url:

      public static function url($routename, array $params = NULL)
      {
         return url::base().Route::get($routename)->uri($params);
      }
      

      【讨论】:

      • 拨打url::url()不会混淆吗?
      • 它可以是另一个助手,例如common::url()core::url() :) 通常我不会为新功能修改/扩展系统类。
      猜你喜欢
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 2014-01-31
      相关资源
      最近更新 更多