在CI中如果要使用 loquent ORM 要使用having post
, get
, put
, delete
functions.但是在laravel中,你只要使用簡單的的程式碼就可以操作實現CI中要使用以上那四個FUNCTION。
下面範例為更新名為user 的TABLE
$user = new User();
$user->first_name = Input::get('first_name');
$user->save();
CI中你如果要使用ROUTER的話,
你要使用(:num)或(:any)自行去指定轉向的方式,
在LARVEL中你一定要在路由表中去設定相對應的路由,
不然會無法動作,
但可以在路由中設定一些過濾需要先判斷的條件,
可以讓你在指定的條件中觸發特殊的路由,
而不用到了頁面執行端中再另外寫判斷式去判斷。
CI中如果要使用REST你還需要特別去引入別人所撰寫的函式庫或者是自行撰寫,
但是在LARAVEL中你只要使用:
Route::resource('user', 'UsersController');
他就會自動對應出以下這樣的函式
class UsersController extends BaseController {
public function index() {
}
public function create() {
}
public function store() {
}
public function show($id) {
}
public function edit($id) {
}
public function update($id) {
}
public function destroy($id) {
}
}
CI中如果要維持大家資料庫的SCHEMA一致,
是要耗費一點心力的,
但在LARAVEL中,
你只要使用Migrations這個指令,你就可以很容易地達到資料庫的同步,
因為如果在你更新程式的時候,
只要執行這個指令,
就可以使你在更新程式的時候也將TABLE SCHMA一併同步。
CI中安裝是很便利的,他只要下載下來,解壓縮之後就可以立即使用了,
不過如果要引入其他人的插件時就要先把其他人的資料夾下載下來,
解壓縮在各自的資料夾,
如果要重新安裝的時候其實就是頗麻煩的,
而LARAVEL中引入了composer,
雖然在第一次安裝中會比CI麻煩不少,
但是之後如果要新增或移除別人家的套件的話,
只要在"require":中去重新設定,
再執行就會自動去安裝或移除,
減少安裝上的錯誤。
Laravel中支援Blade樣板引擎,
他是透過樣板繼承 (template inheritance) 及 區段 (sections) 去驅動的,
你可以把一個頁面透過引入樣板去達到添加內容的效果,
也有一些好用的特別的樣版功能可以將PHP從畫面中解放出來,
LARAVEL中他有官方寫好的一個會員模組,
你可以依照上面的方法就可以立刻下去使用,
雖然使用上彈性可能沒有這麼樣的大,
但是基本上的會員登出入及註冊一些必須的功能,
裡面通通皆已經有內建了,
而CI你仍需要去尋找第三方模組或自行撰寫。
以上為一些這個兩個FRAMEWORK的比較,
以CI來比較是因為網路上還頗多人在討論這兩套,
CI他的簡單容易上手其實還是對一個新手來說可以很快上手,
因為他跟原本的PHP寫法其實差不多,
他的說明文件跟範例也是一個很經典的東西,
官網上面幾乎都有詳盡的說明,
而不用自己去看程式碼,
對LARAVEL來說,
他的學習成本會比較稍高一點,
不過因為她有大量的附加函式庫,
所以很多東西皆可以直接利用他的函式庫去撰寫,
而且因為很多人使用,
所以其實在GITHUB上面也有頗多的插件,
很多東西在需要的時候可以上去搜尋一下,
對於FRAMEWORK來說要使用甚麼的框架,
要取決於自己的使用習慣而定,
要開發小型專案使用CI開發上應該會比較快,
但對於CI來說未來官方已經宣布不支援,
則是另外一個隱憂。