【问题标题】:Laravel - calling a page fragment from another controller (in a bundle)Laravel - 从另一个控制器调用页面片段(在包中)
【发布时间】:2013-03-16 04:29:02
【问题描述】:

我不确定我在这里做的事情是否完全错误。但基本上我想要做的是从我的主应用程序控制器调用我的一个包中的一个函数,这种行为在 Laravel 中是否可能。

实际情况是我的家庭控制器在 /application/controllers/home.php 中,如下所示:

class Home_Controller extends Base_Controller {

    public function action_index()
    {       
            $blog = ?;
            return View::make('common.html_template')->with($blog, 'blog');
    }
}

我还在 /bundles/blog/controllers/home.php 中构建了一个带有控制器的博客包,如下所示:

class Blog_Home_Controller extends Base_Controller {

    public function get_latest()
    {
        //bit of code here
    }
}

是否可以将 get_latest 的内容作为页面片段加载到我的 $blog 变量中,还是我处理不正确。

【问题讨论】:

标签: php laravel hmvc


【解决方案1】:

即使有可能,根据 MVC 方法,您的方法也是错误的。一个控制器不应该知道另一个控制器。如果您需要从某个地方获取一些数据,请尝试使用库或模型而不是控制器,或者您可以在 Home_Controller 中实现 get_latest() 方法

【讨论】:

  • 我知道你在说什么,我确实想在我的包中尊重 mvc 方法,但我希望我的应用程序文件夹协调/调用各种包并充当布局/必要时查看覆盖。我考虑将 get latest 放在家庭控制器中,但更愿意将它与模块/捆绑包一起保存,并尽可能只调用它。我看过一个 hmvc 包 - 也许我会检查一下
猜你喜欢
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 2016-06-09
  • 1970-01-01
  • 2015-09-07
  • 1970-01-01
  • 2017-03-22
相关资源
最近更新 更多