# Controller 控制器 傳值程式碼 namespace App\Http\Controllers; use Illuminate\Http\Request; class HomeController extends Controller { public function signup(Request $request , $id , $course) { $data = ['id' => $id , 'course' => $course , 'url' => '<a href="http://goblinlab.org">http://goblinlab.org</a>']; $url = '<a href="http://goblinlab.org">http://goblinlab.org</a>'; //作法1 利用view()的第2參數來傳 return view('signup',$data); //作法2 利用with()方法來傳 return view('signup')->with($data); //作法3 搭配compact()來建立陣列 return view('signup',compact('id','course','url')); } } 視圖接收參數寫法 跳脫程式內容來進行輸出 {{ $id }} <br> 會渲染程式內容並執行來進行輸出 {!! $code !!}<br> 路由的寫法 //8.x以上版本需補上命名空間 Route::get('/users/{id}/courses/{course}', 'App\Http\Controllers\HomeController@signup'); 被資源控制器所處理的Action 建立帶resources方法的控制器 php artisan make:controller ItemController --resource --model=Item –resource 表示希望順便生成7個CRUD方法 –model 表示希望順便加入載入Model的程式碼,可自己加 建立resources 路由 //建立單一表格resource Route::resource('items','App\Http\Controllers\ItemController'); 第一參數為路徑前綴,通常與關連表格名稱相同 第二參數為所接手的控制器名稱 //建立多個表格的resource Route::resources([ 'items' => 'App\Http\Controllers\ItemController', 'posts' => 'App\Http\Controllers\PostController', ]); 建立帶api resources方法的控制器 php artisan make:controller PostController --api --model=Post 建立api resources 路由 Route::apiResource(‘posts’,‘App\Http\Controllers\PostController’); 保護控制器裡的Action class HomeController extends Controller { public function __construct(){ //此控制器的所有方法都需要有登入才能訪問 $this->middleware('auth'); //此控制器的store()需要有登入才能訪問 $this->middleware('auth')->only('store'); //除index()外,此控制器的其他方法需要有登入才能訪問 $this->middleware('auth')->except('index'); } 在路由檔內加入中介層保護 //此路由需要登入才能訪問 Route::get('/users/{id}/courses/{course}', 'App\Http\Controllers\HomeController@signup')->middleware('auth'); 生成網址 {{ url(路由路徑) }} {{ route(路由名稱) }} 發表於 HackMD 302 讚賞 收藏 訂閱