【问题标题】:Automatically Load/Show Laravel View File自动加载/显示 Laravel 视图文件
【发布时间】:2018-10-24 01:23:01
【问题描述】:

我正在考虑根据 url 自动加载视图文件的任何技术。

例如:

public function addProducts()
{
    return view('admin.addProducts');
}

public function editProducts()
{
    return view('admin.editProducts');
}

public function allProducts()
{
    return view('admin.allProducts');
}

这里,Controller 的 method 名称与 view file 名称相同。所以,我在想,是否可以加载视图文件而无需一次又一次地编写相同的方法。

启发我。

【问题讨论】:

    标签: laravel controller routes laravel-views


    【解决方案1】:

    如果你的路由只需要返回一个视图,你可以使用Route::view 方法。

    例如:

    Route::view('/welcome', 'welcome');
    Route::view('/welcome', 'welcome', ['name' => 'Taylor']);
    

    阅读更多here

    【讨论】:

      【解决方案2】:

      这是调用 PHP 的魔法,伙计。 https://repl.it/@Piterden/PHP-call-magic?language=php

      public function __call($method, $parameters)
      {
          if (str_contains($method, 'Product')) {
              return view("admin.{$method}");
          }
      }
      

      顺便说一句,这对控制器来说不是一个好习惯。

      【讨论】:

      • 感谢您提供代码 sn-p,它可能会提供一些有限的即时帮助。正确的解释将通过描述为什么这是解决问题的好方法来极大地改进其long-term value,并使其对未来有其他类似问题的读者更有用。请编辑您的答案以添加一些解释,包括您所做的假设。
      • 如你所愿更新
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 2015-10-27
      • 2015-09-26
      相关资源
      最近更新 更多