- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试创建到我的 index.blade.php
的路线页,我使用 cmd php artisan make:controller ProductController
创建了一个 Controller “ProductController” ,所以在 http --> Controller 中我有一个 ProductController.php 文件,我把这段代码放在里面:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProductContoller extends Controller
{
public function index()
{
return view('products.index');
}
}
然后在我的
web.php
我使用此代码创建了一条路线
Route::get('/boutique', 'ProductController@index');
但是它不起作用。
Projetname.test
访问我在 localhost 上为我的项目设置的漂亮 url 时我得到了正常的 Laravel 欢迎页面,但是当我尝试转到我刚刚设置的 url 时:
ProjectName.test/boutique
,我明白了
"Target class [App\Http\Controllers\ProductController] does not exist."
RouteServiceProvider
中取消注释这一行来再次启用它。
// protected $namespace = 'App\\Http\\Controllers';
我取消注释该行,然后使用
php artisan route:cache
清除缓存,但它仍然无法正常工作..
None
更改为至
All
然后重新启动 Laragon 但没有任何效果。
λ php artisan route:list
Illuminate\Contracts\Container\BindingResolutionException
Target class [ProductController] does not exist.
at C:\laragon\www\ProjectName\vendor\laravel\framework\src\Illuminate\Container\Container.php:835
831▕
832▕ try {
833▕ $reflector = new ReflectionClass($concrete);
834▕ } catch (ReflectionException $e) {
➜ 835▕ throw new BindingResolutionException("Target class [$concrete] does not exist.", 0, $e);
836▕ }
837▕
838▕ // If the type is not instantiable, the developer is attempting to resolve
839▕ // an abstract type such as an Interface or Abstract Class and there is
1 [internal]:0
Illuminate\Foundation\Console\RouteListCommand::Illuminate\Foundation\Console\{closure}(Object(Illuminate\Routing\Route))
2 C:\laragon\www\ProjectName\vendor\laravel\framework\src\Illuminate\Container\Container.php:833
ReflectionException::("Class "ProductController" does not exist")
最佳答案
Laravel 8 路线应该是
Route::get('/boutique', [NameController:class,'method']);
所以在你的 web.php 文件中添加
use App\Http\Controllers\ProductContoller
然后像这样写你的路线:
Route::get('/boutique', [ProductContoller::class,'index']);
而且我认为缺少'
r ' 在您的“
ProductController ”类名中
关于php - 尽管在 RouteServiceProvider 中取消了注释,但 Controller 仍无法在 Laravel 8 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66960224/
你能帮我解决我的问题吗?我正在使用 laravel5 App/Providers/RouteServiceProvider。我正在尝试根据当前语言添加到路由前缀。例如。:我有 routes.php,其
我正在使用 map RouteServiceProvider 中的函数在进一步处理之前操纵一些路线。 当我在本地机器上运行时,一切正常,但在生产服务器上由于某种原因没有调用 map 函数。 为了确保错
我正在用 Laravel5 开发一个 web 应用程序,在 Controller 的代码中,我写了一段代码。 public function show($id) { $post = Post:
从路由服务创建路由文件提供并分配中间件“admin.auth”,该中间件在 web.php 中工作,提供管理员用户的基本信息,但从 custom.php 返回 auth false。 admin.au
将 laravel 5.8 升级到 laravel 6.x 后,我收到此错误: Undefined class constant 'App\Providers\RouteServiceProvider
我在 Laravel(5.6 版本)应用程序中为 Slider 模块使用显式路由模型绑定(bind)。现在,当我尝试将 sliders 表与 file_uploads 表连接时,我遇到了一个问题。 R
PHP Fatal error: Class 'App\Providers\Route' not found in /home/****/**********/app/Providers/Route
从 Laravel 4.2 迁移到 Laravel 5.0。我将 \App::before(function($request) 从我的 L4.2 filters.php 移动到 L5.0 的 Rou
我尝试创建到我的 index.blade.php 的路线页,我使用 cmd php artisan make:controller ProductController 创建了一个 Controller
我是一名优秀的程序员,十分优秀!