今天我們要來新增route,那route是什麼呢?
在這裡我會比喻成連接controller與view之間的路,
controller中的哪個function要到哪個頁面,
這中間都需要一個運輸資料的路,而這個就是路由的用意啦~
在這裡我們可以用兩種方式去撰寫
Step1.
第一種:http指令
在web.php中首頁的route,這是最基本的寫法,
還記得在我們講http指令的時候他有出來客串一下嗎,
如果不記得沒關係,我們現在來複習一下。
- Route:: HTTP指令 ( ‘url’ , function )
2. Route:: HTTP指令 ( ‘url’ , ‘OOController@functionname’ )
EX.1:Route:: get ( ‘/post’ , function(){ return view(‘welcome’);} )
EX.2:Route:: get ( ‘/post’ , ‘PostController@index )
Step2.
輸入php artisan route:list
我們在Terminal輸入php artisan route:list ,
這可以取得所有controller中function的route資訊,
那我們這裡只要看WorkController的部分就好,主要的分類為:
Domain | Method | URI | Name | Action
- Domain那一欄是空的所以我們就不看
- Method是那個function需要用到的http指令
- URL就是我們網址的填寫方式
- Name則是function名稱
- Action是function位置
Step3.
每個function的路由
Route:: Method ( ‘URL’ , ‘OOController@functionname’ )->name(‘自行取’)
將對應的資料填上,最後name的部分可有可無,
但有跟沒有在之後頁面撰寫的部分會不一樣。
- 有name的話是{{ route(‘home’) }},如果是有id的情況下
{{ route(‘home.show’, $work->id) }}
- 沒有name的話是{{ url(‘works’) }},如果是有id的情況下
{{ url(‘works/{work}’) }}
這就看大家喜歡哪種方式嘍~~
Step4.
第二種:resource