【问题标题】:Laravel - View composer with controller method?Laravel - 使用控制器方法查看作曲家?
【发布时间】:2016-04-24 19:17:28
【问题描述】:

有没有办法在视图编辑器函数中返回控制器方法的响应?这当前返回一个字符串,命名空间。

view()->composer('tasks.partial.tasksummary', function($view)
{
    $view->with('taskload', 'App\Http\Controllers\TaskController@taskLoad');
});

或者...直接将方法注入我的部分会更好吗(通过@inject('..'))?

【问题讨论】:

  • 这听起来像是更适合例如一个任务模型。但你可能会做$taskload = (new App\Http\Controllers\Taskcontroller)->taskLoad(); $view->with('taskload', $taskload); 或类似的。
  • 体面的解决方案。不是最漂亮的,但它会成功的。写一个答案,我会接受的;)
  • 是的,这是一个解决方案,但它可能不是解决方案。 :) 谢谢,我会把它放在一个答案中。

标签: php laravel laravel-5 php-7


【解决方案1】:

这听起来像是更适合例如一个任务模型。但你可以这样做:

$taskload = (new App\Http\Controllers\Taskcontroller)->taskLoad(); 
$view->with('taskload', $taskload);

【讨论】:

  • 不错。您还建议什么其他解决方案?
  • 在不了解您的项目或代码的情况下很难说。然而,一般来说,我将作曲家和控制器视为请求和逻辑之间交互的两种方式。但我不会将两者混为一谈。因此,如果我需要某种方式来获取数据,我会将其放入模型、存储库或数据库(等)中,具体取决于它到底是什么。
  • 我听到了。好吧,我最初将逻辑放在控制器中......这是生成“任务负载”的相当多的代码,使用了几个不同的模型等。但后来我需要这个对象在几个不同的页面上并且没有想重复代码一百次。如此自然地,思想观点作曲家。也许存储库/库是最好的方法。模特,我倾向于保持干净。只是关系、范围、属性等。
猜你喜欢
  • 2013-04-12
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 2018-12-30
  • 2016-11-23
  • 1970-01-01
  • 2013-06-21
  • 2013-06-03
相关资源
最近更新 更多