這篇會隨手紀錄在學習Laravel與RESTFUL API與Vue.js...等等的程式的時候,自己常常會忘記的架構或語法。
Laravel
- route位置 => /routes/
- view位置 => /resource/views/
- controller位置 => /app/Http/Controller/
- model位置 => /app/
- 資料庫連線設定位置 => config/database.php
- 在blade中 {{ $titile }}就是<? echo htmlentitles($title);?>的意思
- 在blade中 {!! $titile !!}就是<? echo $title;?>的意思
- 模板繼承範例
- 在母模板使用@yield('title'),@yield('content')
- 子模板@section('title',$title) => 直接帶入變數帶回母模板的@yield('title')
- 子模板@section('content')~程式碼~@endsection =>將子模板區塊中的程式碼帶回母模板的@yield('content')
- 資料驗證(Validator)
- $rules['email'=>['required','max:150','email']] => 表示email欄位必填,最長150個字,驗證是否符合email的規則
- $rules['password'=>['required','same:password_confirmation','min:6']] =>表示password欄位必填,必須與password_confirmation欄位的數值相同,最少6個字
- $rules['password_confirmation'=>['required','min:6']] =>表示password_confirmation欄位必填,最少6個字
- $rules['type'=>['required','in:G,A']] =>表示type欄位必填,僅限定G或A這兩種數值
- 最後套入Validator::make(request->all(),$rules)判斷是否有錯誤
- blade的三元運算 => {{ isset($name) ? $name : 'Default' }}可以簡寫為{{ $name or 'Default' }}
- redirect()->withInput => 可以將input資料再傳回到導向的畫面,該畫面再以old('欄位名稱')將資料帶回原本欄位
- Hash
- Hash::make(密碼)
//用來對密碼加密
- Hash:check(輸入的密碼,資料庫的密碼) //檢查密碼是否正確
- 列印EloquentSQL語法的方法
- DB::enableQueryLog(); //啟用紀錄SQL語法
- $user = User::where('email',$imput['email'])->firstOrFail(); //撈取使用者資料
- var_dump(DB::getQueryLog());//列印出資料庫目前所有執行的SQL語法
- session
- session()->put(鍵值) //將資料存入
- session()->has(鍵值) //判斷是否有資料
- session()->forget(鍵值) //清除session資料
- 交易功能
- DB::BeginTransaction();//開始交易
- DB::commit();//完成交易
- DB::rollBack();//取消交易
- $request
- $request->ip()取得使用者IP
- $request->path()取得uri
- $request->method()取得HTTP請求方式
- $request->isMethod()判斷HTTP請求方式ex: ($request->isMethod('post')?true:false)
Migration
- php artisan make:migration => 建立migration檔案(snake_case)
- php artisan migrate => 執行migration檔案
- php artisan migrate:rollback => 恢復上一版本的migration檔案
- php artisan migrate:reset => 清除所有的migration版本
- php artisan migrate:refresh => 重設所有的migration版本並立即重建新的資料表
Seeder
- php artisan make:seed UserTableSeeder => 建立seeder
- php artisan db:seed => 執行所有seeder
- php artisan db:seed --class=UserTableSeeder =>執行單一seeder
- seeder可以搭配faker產生資料參考 https://bonze.tw/laravel-faker/ 這篇文章撰寫
HTTP Method
- GET 讀取資源
- PUT 替換資源
- PATCH 更換資源部分內容
- DELETE 刪除資源
- OPTIONS 回傳該資源所支援的所有 HTTP 請求方法
- CONNECT 將連線請求轉換至 TCP/IP 隧道
- POST 新增資源
RESTful API
- 瀏覽全部page畫面=GET:http://localhost/page/
- 瀏覽一筆page資料=GET:http://localhost/page/:id
- 新增一筆page資料=POST:http://localhost/page
- 修改一筆page資料=PUT:http://localhost/page/:id
- 刪除一筆page資料=DELETE:http://localhost/page/:id
參考:
- 什麼是REST? 認識 RESTful API 路由語義化設計風格
- 《LARAVEL 5 for beginner新手道場》
- Laravel 假資料產生工廠