controller的檔案會在app/Http/Controllers底下,以後新增的controller都可以在這邊找到。controller能夠將相關的請求處理邏輯組成一個單獨的類別,方便我們調用裡面的東西。
新增一個新的controller指令,接著我們就可以在controller裡面寫點東西。
下面這個指令的controller內容全部要自己寫。
php artisan make:controller BlogsController
//controller的內容
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PostsController extends Controller
{
//
}
而下面這個指令可以幫你寫好預設CRUD,直接在function裡面寫程式即可。
有CRUD的內容,是不是方便很多啊,但有些功能不用CRUD全部都要寫,你就可以使用剛介紹的第一個指令,寫你想要的function就可以了。
<?php
php artisan make:controller --resource NewsController
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class NewsController extends Controller
{
//顯示所有資料
public function index()
{
//
}
//新增一筆資料
public function create()
{
//
}
//儲存資料
public function store(Request $request)
{
//
}
//顯示一筆資料
public function show($id)
{
//
}
//編輯一筆資料
public function edit($id)
{
//
}
//更新一筆資料
public function update(Request $request, $id)
{
//
}
//刪除一筆資料
public function destroy($id)
{
//
}
}
接著我們來寫點程式碼,來讓route可以接上controller,首先先到route/web.php裡面,上面我是新增一個最新消息(NewsController)的controller,那就先來試試看顯示最新消息的首頁吧
//web.php
Route::get('/news','NewsController@index');
//終端機啟動serve
php artisan serve
你會看到空白的頁面,因為還沒在index function裡面寫東西。
//NewsController.php
//
public function index()
{
return '這是最新消息的首頁';
}
剩下的內容明天繼續~
class PostsController extends Controller
是否應該修改為
class BlogsController extends Controller
?