课程'任务'在基本的Laravel 5.4教程

时间:2017-02-18 19:00:53

标签: php .htaccess laravel routes namespaces

首先,我是一个完整的Laravel noob,但我想学习它。我从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复制到我的根文件夹。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:6)

使用正确的命名空间

   /**
    * 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('/');
    });