Laravel 學習筆記(19) - 登入驗證 (Authentication)

Authentication

Laravel 已經實作了登入機制,所以我們可以很快速的建立登入功能。驗證設定檔在 app/config/auth.php,而預設在 app/models 已經建立了一個 User.php 的 Model。在 auth.php 中的設定是 model 名稱為 User,table 名稱為 users,這些可以改成自己想要的。

!重要,在建立 users 資料表時,必須建立一個 remember_token 的字串欄位,長度 100、nullable。這個欄位是用來儲存 session 的 token。在 migrations 檔中可以使用
$table->rememberToken();
來建立。

Laravel 學習筆記(18) - 資料庫之 Migrations & Seeding

Migrations & Seeding

Laravel 官網上的說明,Migrations 是一種資料庫版本控制的型式。它可以讓開發團隊在修改資料庫綱要(schema)時仍保持最新的狀態。Migrations 通常會使用 Schema Builder 來管理。

在終端機中,進入網站目錄,輸入指令:php artisan migrate:make create_users_table 會產生類似 app/database/migrations/2014_12_11_081527_create_posts_table.php 這樣的檔案。前面會加上日期及時間戳記,時間戳記在每次執行指令時都會不同。也就是說,之後在執行 migrate 動作時,它是會依序執行的。如果你有要調動執行的順序,只要改前面的日期,或時間戳記,就能改變被執行的順序。


Laravel 學習筆記(16) - 資料庫之 Eloquent ORM

Eloquent ORM

Eloquent ORM 讓資料庫中的每個資料表都對應到 Model,你可以透過 Model 和資料表互動。要定義的模型 (Eloquent Model) 預設放在 app/models 目錄下。例如 app/models/Post.php (字首大寫) ,它的內容如下:
<?php
class Post extends Eloquent{}
在 Eloquent 中,會自動以 Model 的類別名稱的小寫、複數名稱去找尋對應的資料表,所以 Post model 對應的資料表就會是 posts 。


Laravel 學習筆記(14) - Form 表單資料驗證

Form Validation

Laravel 包含了一個 Validation 類別,專門用來處理資料驗證。使用 Validator 類別的 make() 方法來建立驗證:
Validator::make(data, rules, messages, customAttributes)
參數說明:
  • data:陣列。是準備要驗證的資料。
  • rules:陣列。驗證規則。
  • messages:陣列。驗證失敗後要回傳的訊息。
除了 data 及 rules,後面的兩個參數都可省略。

Laravel 學習筆記(13) - Form 表單進階

Form

在 View 中建立表單的方法
{{ Form::open(['url' => 'foo']) }}
//...
{{ Form::close() }}
使用 open 及 close 來建立一個表單。參數是以陣列的方式設定,method 預設為 POST,如果要指定其他的方法,可自行增加,例如:
{{ Form::open(['url' => 'foo', 'method' => 'put']) }}

Laravel 學習筆記(12) - Blade 樣板系統

Blade

Laravel 使用 Blade 樣板系統,所有的 Blade 樣板都要以 .blade.php 結尾。
在「微型部落格」專案中,我們一共建立了 4 個 view:
  • home.blade.php
  • create.blade.php
  • edit.blade.php
  • show.blade.php
我們可以抽離共有的部份,這樣不僅維護容易,也可以少掉許多重覆的 HTML。這裡還會說明如何使用資料夾來分類 view,這樣當你的網站變大時,才會容易管理檔案。

Laravel 學習筆記(11) - Route 進階

Route 進階

在微型部落格專案中,我們的 routes.php 內容是這樣:
Route::get('post', 'HomeController@index');
Route::get('post/create', 'HomeController@create');
Route::post('post', 'HomeController@store');
Route::get('post/{id}', 'HomeController@show');
Route::get('post/{id}/edit', 'HomeController@edit');
Route::put('post/{id}', 'HomeController@update');
Route::delete('post/{id}', 'HomeController@destroy');
目前只有一個編輯文章的功能。假如你的網站功能很多,Route 肯定會多到難以維護,其實有幾個方法可以加以調整,本節將專注在 Route 的使用上。

Laravel 學習筆記(10) - 第一個小專案:微型部落格

Laravel Example

綜合前面說到的內容,就可以來練習第一個小專案:微型部格格。

先來描述一下要完成的功能:
  • 首頁顯示文章的清單,只顯示標題
  • [標題]連結,開啟文章內容
  • [新增]連結,開啟表單頁面新增內容
  • [編輯]連結,緊接著標題,開啟表單頁面編輯內容
  • [刪除]連結,在編輯頁面中,可刪除文章