Laravel Single Action Controller不起作用

时间:2019-09-01 04:45:40

标签: laravel laravel-5 laravel-5.8

我在Http中创建了CustomerController,后来我固定路由来获取客户,但是在单个动作Controller中却出错。

我试图炫耀CustomerController视图以显示登录页面的客户

coding error image

这是一条错误消息

使用未定义的常量视图-假定为“视图”(这将在以后的PHP版本中引发错误)

3 个答案:

答案 0 :(得分:2)

好像您正在尝试使用旧方法来渲染刀片文件一样:-

 return View::make('customers.index', $customersList);

要使用 view()方法

return view('admin.pages.customers.index',compact('someVaiable'));

OR

// You can define constant for your controller get methods

private $layout;
public function __construct()
{
    $this->layout = 'admin.pages.customers.';
}

public function index(){
    return view($this->layout.'index');
}

看看单个动作控制器示例

https://laravel.com/docs/5.8/controllers#single-action-controllers

答案 1 :(得分:1)

控制器中view方法的第一个参数应该是视图的名称。

  

Routes / web.php

Route::get('/', 'CustomerController');
  

app / Http / Controllers / CustomerController.php

<?php


namespace App\Http\Controllers;


use Illuminate\Http\Request;

class CustomerController extends Controller
{
    public function __invoke(Request $request)
    {
        return view('customers');
    }
}
  

resources / views / customers.blade.php

<h1>Customers</h1>

答案 2 :(得分:0)

在刀片视图中,您是否在某处有以下行?

{{ view }}

应将其替换为您可能通过的变量,而不是在某个位置定义常量。

{{ $view }}

否则,请共享相关的源代码段,因为您的屏幕截图似乎未正确附加,如果没有任何更多信息,我们将无法为您提供帮助。