public function create(){
return '新增一筆資料';
}
網址打上:http://127.0.0.1:8000/news/create ,看看有沒有正常執行
public function show($id){
return '最新消息'.$id;
}
網址打上:http://127.0.0.1:8000/news/1 ,就可以看到上面的字串跟傳進去的id
edit、update、destroy、show,這幾個Function都是傳參數進去,可以修改特定的某筆資料。
如果你的controller只處理單個行為的話,就可以使用__invoke的方法,而在route裡面也只要寫上controller的名字就可以抓到controller的資料。
//web.php
Route::get('user/{id}', 'ShowProfile');
//controller
<?php
namespace App\Http\Controllers;
use App\User;
use App\Http\Controllers\Controller;
class ShowProfile extends Controller
{
/**
* 展示给定用户的信息。
*
* @param int $id
* @return Response
*/
public function __invoke($id)
{
return view('user.profile', ['user' => User::findOrFail($id)]);
}
}
可以在route的後面加上middleware字樣和名稱即可使用
Route::get('profile', 'UserController@show')->middleware('auth');
也可以在controller中加入middleware使用
class UserController extends Controller
{
public function __construct()
{
$this->middleware('auth');
$this->middleware('log')->only('index');
$this->middleware('subscribed')->except('store');
}
}
或是直接在midddleware裡面加入閉包寫middleware,如果你的middleware程式碼很少的話就可以使用這個方法,就不用在特別新增一個middleware了。
$this->middleware(function ($request, $next) {
// ...
return $next($request);
});
``` post application PART 1