
Pagination
在 Laravel 中要實作分頁只要兩行!!在 HomeController@index 中,原本的
$posts = Post::all();
是取得全部的資料,現在我們設定為一頁只顯示 3 筆,所以改成:
$posts = Post::paginate(3);
完成,這樣一頁就只會顯示 3 筆資料。
Pagination
在 Laravel 中要實作分頁只要兩行!!$posts = Post::all();
是取得全部的資料,現在我們設定為一頁只顯示 3 筆,所以改成:
$posts = Post::paginate(3);
完成,這樣一頁就只會顯示 3 筆資料。
Localization
Laravel 提供 Lang 類別讓你方便取用不同語言的字串。檔案存放在 app/lang 目錄下,在依不同語言各自建立目錄。例如:app/lang/en
app/lang/tw
app/lang/jp
app/lang/fr
語言目錄名稱可自訂。目錄中可放置多個 php 檔,每個 php 內都是做回傳一個陣列的動作。
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();
來建立。
Migrations & Seeding
Laravel 官網上的說明,Migrations 是一種資料庫版本控制的型式。它可以讓開發團隊在修改資料庫綱要(schema)時仍保持最新的狀態。Migrations 通常會使用 Schema Builder 來管理。app/database/migrations/2014_12_11_081527_create_posts_table.php
這樣的檔案。前面會加上日期及時間戳記,時間戳記在每次執行指令時都會不同。也就是說,之後在執行 migrate 動作時,它是會依序執行的。如果你有要調動執行的順序,只要改前面的日期,或時間戳記,就能改變被執行的順序。
Schema Builder
Laravel 提供 Schema 類別來維護資料表。通常會寫在 migration 檔,使用程式碼來快速建立資料表。Eloquent ORM
Eloquent ORM 讓資料庫中的每個資料表都對應到 Model,你可以透過 Model 和資料表互動。要定義的模型 (Eloquent Model) 預設放在 app/models 目錄下。例如 app/models/Post.php (字首大寫) ,它的內容如下:<?php
class Post extends Eloquent{}
在 Eloquent 中,會自動以 Model 的類別名稱的小寫、複數名稱去找尋對應的資料表,所以 Post model 對應的資料表就會是 posts 。
Query Builder
Laravel 提供了方便易用的資料庫查詢機制,基於 PDO 參數綁定(parameter binding),保護應用程式免於 SQL資料隱碼 (SQL injection) 攻擊。Form Validation
Laravel 包含了一個 Validation 類別,專門用來處理資料驗證。使用 Validator 類別的 make() 方法來建立驗證:Validator::make(data, rules, messages, customAttributes)
參數說明:
Form
在 View 中建立表單的方法{{ Form::open(['url' => 'foo']) }}
//...
{{ Form::close() }}
使用 open 及 close 來建立一個表單。參數是以陣列的方式設定,method 預設為 POST,如果要指定其他的方法,可自行增加,例如:
{{ Form::open(['url' => 'foo', 'method' => 'put']) }}
Blade
Laravel 使用 Blade 樣板系統,所有的 Blade 樣板都要以 .blade.php 結尾。