【问题标题】:Laravel 5.6 strange behavior - Laravel doesn't see a controller after I rename itLaravel 5.6 奇怪的行为 - 我重命名后 Laravel 看不到控制器
【发布时间】:2018-09-25 07:25:53
【问题描述】:

我有一个名为 RankController.php 的控制器。当我想分离一些方法时,我手动重命名UsersController.php。然后我选择将其重命名为RankController.php。注意:我只改文件名,不改类名。这是控制器的代码。

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Schema;
use App\User;
use App\Rank;
use App\Ban;

class RankController extends Controller
{

    // Constructor function
    public function __construct()
    {

        // Check if user is logged in
        $this->middleware('auth');
    }

    public function search(Request $request)
    {
        $this->validate($request, ['search' => 'required', ]);

        $users = User::select('id', 'name')->where([
            ['name', '!=', Auth()->user()->name],
            ['name', 'like', "%" . $request->input('search') . "%"], 
        ])->paginate(10);

        return view('rank.search')
            ->with('users', $users);
    }

}

这里是我调用控制器的地方:

{!! Form::open(['action' => ['RankController@search'], 'method' => 'POST']) !!}
    {{Form::text('search', '', ['placeholder' => 'Search a user'])}}
    {{Form::submit('Search', ['class' => 'btn btn-primary'])}}
{!! Form::close() !!}

注意:这是我收到错误的单个文件。 这是错误:Action App\Http\Controllers\RankController@search 未定义。 (查看:/var/www/htdocs/Proiect/resources/views/layouts/app.blade.php)(查看:/var/www/htdocs/Proiect/resources/views/layouts/app.blade.php)

我在其他电脑上尝试了代码,它产生了同样的错误。

【问题讨论】:

  • 你更新了“UsersController”的路由了吗?
  • 如果您更改文件名,您还需要更改类名。 autoloading standard 通过使用目录和文件名来表示命名空间和类。如果您的文件名与您的类不同,则无法自动加载。
  • @Pratik 是问题所在,我现在改回来了,谢谢。
  • 如果这个问题已经解决或者发布/接受答案,您能否关闭/删除这个问题?谢谢

标签: php laravel laravel-5.6 laravel-controller


【解决方案1】:

我觉得你必须更新 "UsersController" 的路线并运行 "composer dumpautoload"

【讨论】:

  • 这对我有用。我需要用新名称更新路线。
【解决方案2】:

确保文件名和类名相同,然后 试试这些命令:

1)php artisan route:cache
2)php artisan route:clear
3)composer dumpautoload -o

【讨论】:

    猜你喜欢
    • 2018-09-01
    • 1970-01-01
    • 2015-03-06
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    相关资源
    最近更新 更多