Laravel之旅 - 在Controller中開始寫寫code摟
已經認識資料庫如何串接與方法後,
讓我們來開始寫寫簡單的程式吧!!
本文所採用的環境
- Max OSX 10.15
- Docker version 19.03.5
- Laradock
- Laravel 6.0 以上 (5.8適用)
本系列不從部署環境開始說起,
部署環境可參考以下
- Laradock - 更快速優雅的建立Laravel
- Install Apache, MySQL, PHP on macOS Catalina 10.15
- Win10請服用XAMPP,非專業版的Win裝docker會比較麻煩,不過也可以試試~~
本系列文章
Laravel之旅 - 認識Laravel資料夾結構
Laravel之旅 - 善用Migration管理資料表
Laravel之旅 - 生成Migration的懶人包
Laravel之旅 - DB的操作(1) DB Query builder
Laravel之旅 - DB的操作(2) Eloquent ORM
Laravel之旅 - DB的操作(3) Relationships
Laravel之旅 - DB的操作(4) Relationships 特別篇
在Laravel中,撰寫程式的地方在app\Http\Controllers
,
如果已經會PHP的話,會覺得這樣的結構很方便,
讓我們來看一下結構,一樣我們用指令的方式,建立一個Controller
1 | php artisan make:controller UserController |
之後在app\Http\Controllers
就會看到剛剛的指令已經幫我們建立檔案了,
這時候會發現,剛建立的Controller居然有extend一隻Controller,
這個extend的controller在app\Http\Controllers\
底下,
先來看看他裡面做了什麼,
什麼!!居然就短短的幾行,
不過卻都是很好用的模組,laravel非常的貼心,
把 登入驗證(AuthorizesRequests)、隊列(DispatchesJobs)、驗證(ValidatesRequests) 做成相關的模組,
可以很快速的達到這些事情,不用再自己一一撰寫,
以上的模組留到後面的章節,好奇的也可以先到官方文件看一遍,非常簡單與易用,
登入驗證(AuthorizesRequests)
隊列(DispatchesJobs)
驗證(ValidatesRequests)
結合前面Model的部分,來試著撈資料吧!
1 | // UserController.php |
再到router/web.php中寫下這個function的路徑
1 | Route::get('test', 'UserController@user'); |
完成後打開瀏覽器,並寫下剛剛的路徑,就可以看到資料被撈出來了。
router可以撰寫 get、post、put、delete 這些http method,
那其實router也是有一些東西可以說明,到時候也會獨立成一個章節,
controller的部分就像是原生php那樣,可以直接把想要的程式寫在這裡,
其實有點不知道怎麼詳細說明Controller,所以先簡單的說明這裡可以寫寫php的code並透過dd()
去查看,
會再拆分成
- request 相關
- return 相關
後續的一些laravel模組也都會用到這些,像是驗證或者是畫面的生成,
所以先簡單說一下,不然我怕這篇會不小心變成大雜燴。
後記
剛開始接觸Laravel的時候,就直接去controller中撰寫一些簡單的程式,
像是一些php書上的小範例,for、foreach、if、撈DB…等,
比較熟悉php後,開始會去注意看看laravel提供了哪些函式方便使用,
不然就會再造一次輪子,雖然可以練寫code技巧,但頗花時間的〜〜