iT邦幫忙

DAY 3
0

初學laravel系列 第 3

比較laravel與codeigniter

在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來說未來官方已經宣布不支援,

則是另外一個隱憂。


上一篇
鐵人賽- day2 LARAVEL介紹
下一篇
鐵人賽 Day4 laravel 安裝
系列文
初學laravel30

尚未有邦友留言

立即登入留言