Download - Laravel - 系統全攻略
![Page 1: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/1.jpg)
Laravel:系統全攻略
![Page 2: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/2.jpg)
本⽇日課程
• Migration
• Model、Controller與Router
• Middleware
![Page 3: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/3.jpg)
Migration
• 資料庫建⽴立腳本
• 指令:php artisan make:migration {MigrationName}
![Page 4: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/4.jpg)
Migration設定概要
• up():設定這個腳本要做的事
• down():設定這個腳本被撤銷時要做的事
![Page 5: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/5.jpg)
Live Demo
![Page 6: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/6.jpg)
Model
• Laravel中的資料庫實體
• 存取資料庫的⽅方式之⼀一
• 指令:php artisan make:model {ModelName}
• 註:會⼀一併新增ModleName的Migration
![Page 7: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/7.jpg)
Model 使⽤用⽅方式
• 在Controller中:
• 先在檔頭use App\{ModelName};
• 在該檔案中可使⽤用{ModelName}::find()等相關函式
![Page 8: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/8.jpg)
Live Demo
![Page 9: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/9.jpg)
Model 進階使⽤用
• $table:指定資料表名稱
• 未指定的話則以FileName的複數形為預設
• $fillable:批量賦值
• 使資料可依欄位名稱被⼀一次性丟⼊入資料表
• $hidden:隱藏資料
• 隱藏指定欄位,不讓它丟出該欄位的資料
![Page 10: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/10.jpg)
Router
• 格式:
• Route::{method}({router}, {goal});
• Route::get(‘page’, function(){ return ‘page’; });
• Route::post(‘new/user’, ‘UserController@newUser’);
![Page 11: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/11.jpg)
Router 進階使⽤用(⼀一)
• 路由參數
• Route::get(‘user/{id}’, function( $id ){ return $id; });
• 路由參數限制
• Route::get(‘user/{id}’, function(){ return $id; }) ->where([‘id’=>’[0-9]+’])
![Page 12: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/12.jpg)
Router 進階使⽤用(⼆二)• 路由群組
• 路由前綴
![Page 13: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/13.jpg)
Controller 基礎使⽤用
• Controller與Router的結合
• => Demo
• Controller與Model的結合
• => Demo
• Controller與View的結合
• => Demo
![Page 14: Laravel - 系統全攻略](https://reader034.vdocuments.site/reader034/viewer/2022042602/55adc2301a28ab6d608b4677/html5/thumbnails/14.jpg)
View技巧
• XSS防禦
• {{{}}}、{{}}與{!!e()!!}
• @{{1+2}} => AngularJS