php Laravel ~ 属性【控制器】不存在

Posted

技术标签:

【中文标题】php Laravel ~ 属性【控制器】不存在【英文标题】:php Laravel ~ Attribute [controller] does not exist 【发布时间】:2017-09-20 05:20:46 【问题描述】:

我正在尝试在我的 Laravel 项目中设置路由控制器,并且我已经设置了控制器和路由。

但是,当我在web.php 中加载路由时,当我尝试在Attribute [controller] does not exist 的浏览器中导航到该页面时会产生错误

这是代码..

<?php
   namespace CMS\Http\Controllers\Auth;

   use CMS\Http\Controllers\Controller;
   use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller


use AuthenticatesUsers 
    logout as performLogout;


/**
 * Where to redirect users after login.
 *
 */
protected $redirectTo;

/**
 * Create a new controller instance.
 *
 */

public function __construct()

    $this->redirectTo = route('backend.dashboard');
    $this->middleware('guest')->except('logout');


public function logout(Request $request)

    $this->performLogout($request);
    return redirect()->route('auth.login');


然后在 web.php 我有这个...

Route::controller('auth', 'Auth\LoginController', [
    'getLogin' => 'auth.login'
]);

【问题讨论】:

Route::controller('auth', 'Auth.LoginController', ['getLogin' => 'auth.login' ]); ------>> 试试这个 @RïshïKêshKümar 不幸的是,这不起作用 控制器方法自 Laravel 5.3 起已弃用。但是现在,您可以使用资源方法,其目的与控制器方法相同:... Like This :: Route::resource('datatables', 'HomeController'); 现在我收到 show() 不存在的错误。 您还必须根据您的路线更改路线..您更改它.. 【参考方案1】:

控制器方法自 Laravel 5.3 起已弃用。但是现在,您可以使用资源方法,这与控制器方法的用途相同。

像这样:

Route::resource('auth', 'LoginController');

Route::get('/auth','LoginController');

Route::post('/auth','LoginController');

【讨论】:

在 laravel 5.2 中,控制器方法正在工作,现在通过在 laravel 5.4 中使用控制器方法,它给出了相同的属性控制器错误。谢谢你的回答。

以上是关于php Laravel ~ 属性【控制器】不存在的主要内容,如果未能解决你的问题,请参考以下文章

通过控制器助手授权:方法 authorize() 不存在 - Laravel 5.5

PHP Laravel:Ajax 无法检索数据(无属性)

目标类 [UserController] 不存在 Laravel 8

在 Laravel 5.x 中获取“类不存在”

在 laravel 中检索具有关系的数据

Route.php 类控制器中的 ReflectionException 不存在