首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Laravel控制器类的问题

Laravel控制器类的问题
EN

Stack Overflow用户
提问于 2021-08-24 06:18:12
回答 3查看 64关注 0票数 0

我知道这个问题已经被问了几次了,但没有一个答案对我有效,这就是为什么我再次问这个问题。

我正在尝试用Laravel创建一个小网站,我创建了一条路由和一个控制器,但当我试图在url中访问它时,我得到了这个错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Illuminate\Contracts\Container\BindingResolutionException
Target class [Admin\PlanController] does not exist.

这是我的web.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use Illuminate\Support\Facades\Route;


Route::get('admin/plans', 'Admin\PlanController@index')->name('plans.index');

Route::get('/', function () {
    return view('welcome');
});

这是我的PlanController.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class PlanController extends Controller
{
    public function index(){
        return view('admin.pages.plans.index');
    }
}

如果有任何帮助,这里是我的RouteServiceProvider.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    protected $namespace = 'App\\Http\\Controllers';

    public function boot()
    {
        $this->configureRateLimiting();

        $this->routes(function () {
            Route::prefix('api')
                ->middleware('api')
                ->namespace($this->namespace)
                ->group(base_path('routes/api.php'));

            Route::middleware('web')
                ->namespace($this->namespace)
                ->group(base_path('routes/web.php'));
        });
    }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-08-24 07:32:00

你的代码看起来一切正常。确认一个目录下的控制器必须是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app\Http\Controllers\Admin

或者做一些改变

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$this->routes(function () {
        Route::middleware('web')
            ->namespace('App\Http\Controllers')
            ->group(base_path('routes/web.php'));

而不是在RouteServiceProvider.php中使用获取名称空间值作为变量。

票数 1
EN

Stack Overflow用户

发布于 2021-08-24 06:27:46

如果您使用的是Laravel 8,最好使用新的路由语法,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use App\Http\Controllers\Admin\PlanController;

Route::get('/admin/plans', [PlanController::class, 'index'])->name('plans.index');

确保控制器位于正确的目录app/Http/Controllers/Admin

票数 0
EN

Stack Overflow用户

发布于 2021-08-24 13:25:08

您可以在您的路由中描述完整的命名空间;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Route::get('admin/plans','App\Http\Controllers\Admin\PlanController@index')->name('plans.index');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68908937

复制
相关文章
php中Laravel控制器详解
Laravel中的请求使用的是symfony/http-foundation组件,请求里面放了$_GET,$_POST,$_COOKIE,$_FILES,$_SERVER等数据。
IT工作者
2022/04/16
2.2K0
Laravel源码解析之控制器
控制器能够将相关的请求处理逻辑组成一个单独的类, 通过前面的路由和中间件两个章节我们多次强调Laravel应用的请求在进入应用后首现会通过Http Kernel里定义的基本中间件
KevinYan
2019/10/13
9280
laravel--laravel的重定向类Redirector
laravel的重定向类Redirector 在laravel5中,重定向类可以直接通过redirect()方法直接获取,不需要声明,有几个常用的方法: redirect() -> to( “重定向到指定的地址或者路由器当中”):可以简写为reidrect() redirect() -> action( “重定向到控制器的指定action当中”) redirect() -> route(“重定向到路由的别名当中”) redirect() -> back(“返回上一层请求的地址”) redirect() ->
双面人
2020/02/24
1.3K0
laravel--laravel的重定向类Redirector
laravel 学习之路 控制器Controller
前面学习了路由可以分发请求还可以引入html页面,这些都可以在 route/web.php 中搞定。
风清醉
2019/12/19
5800
PHP-Laravel控制器使用(C)
其中Auth存放的是框架自带的Auth认证相关的示例控制器文件,controller.php文件是框架的基类控制器。
cwl_java
2020/03/27
1.4K0
Laravel 控制器:从 MVC 模式聊起
到目前为止,我们定义的所有路由都是基于闭包函数实现的,前面已经提到过,随着应用体量的增长,不可能将所有路由都定义在单个文件中,且对于复杂的业务逻辑,闭包函数也不足以支撑,所以和其他 Web 应用框架一样,我们还可以通过控制器来定义路由。
学院君
2020/10/19
11.3K0
Laravel 控制器:从 MVC 模式聊起
laravel 学习之路 路由与控制器
有时候啊 一大堆路由它们都有共同的地方,比如都使用一个中间件(过两天写)或是前缀都一样,避免代码重复 我们可以将他们分到一组中。
风清醉
2019/12/18
1K0
【Laravel系统3.3】控制器与表单验证
在请求过程中,控制器往往是我们在做业务开发时绕不过的一环。从 MVC 理论的成熟到现代化的开发过程中,控制器一直扮演着重要的角色。可以说,我们可以不要前端(只做接口),可以不要模型(直接读取数据),但控制器却是必不可少的。当然,在正式的 MVC 模型中,视图是可以直接和模型交互的,由此,也引申出了 MVP 模型,其中的这个 P 就是强化控制器的作用,让模型和视图解耦。其实我们大部分正规的开发,都是基于这个 MVP 的,很少会直接让视图和模型去交互。
硬核项目经理
2023/03/03
8.7K0
【Laravel系统3.3】控制器与表单验证
从ajax获取参数到控制器Laravel
route Route::get('search', 'ShowstaffController@search'); 接收变量
双面人
2020/02/17
1.2K0
laravel8.x:运行起来(路由+控制器)
贵哥的编程之路
2023/10/16
1770
laravel8.x:运行起来(路由+控制器)
Laravel DB类实现事务
事务主要用于处理操作量大,较复杂的数据,如在某个场景你想删除某个用户,但又要删除这个用户相关的信息,这种操作就构造一个事务。
切图仔
2022/09/08
9060
laravel使用中遇到的问题
报错: The only supported ciphers are AES-128-CBC and AES-256-CBC
胡琦
2021/09/09
2.2K0
laravel 安装目录权限的问题
PHP Warning: ...failed to open stream: No such file or directory.
碧海长天
2021/10/21
1.6K0
Laravel 软删除存在的问题
1、软删除使用的标记类型是时间类型,通过is null条件查询,删除标记取值不支持定义
写PHP的老王
2019/08/23
2.3K0
点击加载更多

相似问题

Laravel控制器-> API类

20

Laravel路由控制器问题

327

Laravel控制器滤波问题

10

Laravel控制器__construct问题

142

路由问题: Laravel 5.8中不存在类控制器

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文