在基本 Laravel 5.4 教程中找不到类“任务”
Posted
技术标签:
【中文标题】在基本 Laravel 5.4 教程中找不到类“任务”【英文标题】:Class 'Task' not found in basic Laravel 5.4 tutorial 【发布时间】:2017-07-08 05:56:24 【问题描述】:首先,我完全是 Laravel 菜鸟,但我想学习它。我从https://laravel.com/docs/5.2/quickstart 的教程开始,但安装了 5.4。这就是问题所在,因为与本教程所基于的 Laravel 5.2 版本相比,路线的位置不同。所以在我的根文件夹中,我有 /routes 并在 /routes/web.php 中添加了教程代码:
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
/**
* Show Task Dashboard
*/
Route::get('/', function ()
$tasks = Task::orderBy('created_at', 'asc')->get();
return view('tasks', [
'tasks' => $tasks
]);
);
/**
* Add New Task
*/
Route::post('/task', function (Request $request)
$validator = Validator::make($request->all(), [
'name' => 'required|max:255',
]);
if ($validator->fails())
return redirect('/')
->withInput()
->withErrors($validator);
$task = new Task;
$task->name = $request->name;
$task->save();
return redirect('/');
);
/**
* Delete Task
*/
Route::delete('/task/task', function (Task $task)
$task->delete();
return redirect('/');
);
?>
我已经创建了一个 app/Task.php,其中包含(空)Task 类,据我所知,我的数据库设置正确。
FatalErrorException in web.php line 21:
Class 'Task' not found
我仍然收到上述错误,表明我的命名空间有问题,但我似乎无法正确处理。
顺便说一句,为了使安装正常工作,我已将根文件夹中的 server.php 重命名为 index.php 并将 .htaccess 从 /public 复制到我的根文件夹。
任何帮助将不胜感激!
【问题讨论】:
使用$tasks = \App\Task::orderBy('created_at', 'asc')->get();
。
【参考方案1】:
使用正确的命名空间
/**
* Show Task Dashboard
*/
Route::get('/', function ()
$tasks = \App\Task::orderBy('created_at', 'asc')->get();
return view('tasks', [
'tasks' => $tasks
]);
);
/**
* Add New Task
*/
Route::post('/task', function (Request $request)
$validator = Validator::make($request->all(), [
'name' => 'required|max:255',
]);
if ($validator->fails())
return redirect('/')
->withInput()
->withErrors($validator);
$task = new \App\Task;
$task->name = $request->name;
$task->save();
return redirect('/');
);
/**
* Delete Task
*/
Route::delete('/task/task', function (\App\Task $task)
$task->delete();
return redirect('/');
);
【讨论】:
谢谢你。你知道导致这种情况发生的 laravel 中的哪些特殊变化吗?以上是关于在基本 Laravel 5.4 教程中找不到类“任务”的主要内容,如果未能解决你的问题,请参考以下文章
升级到 5.4 后在 Laravel BrowserKit 包中找不到 PHPUnit\Framework\Constraint\Constraint
Laravel 5.4 pdf generate:下载pdf后,在dompdf中找不到图像或输入未知图像