Laravel框架特性分析
阿新 • • 發佈:2018-11-02
1.擁有一個簡單的核心Container類,對於很多的php框架擁有的功能如路由請求攔截,檢視渲染,許可權控制,快取等都是整合在框架內部實現的,但是laravel框架是獨立實現的,這些功能可以理解為服務,通過provider(提供器),註冊到核心容器container去實現的.
Application繼承Container類,這個類是負責排程和組裝各種元件服務的容器,開啟config目錄裡的app.php,裡面的provider有很多的服務,如許可權,檔案,也可以加入一些第三方的服務,實現自動載入類,
優點:
1、程式碼比較明白易懂,跟英語句子差不多,關鍵詞就是函式,舉個例子,獲取資料庫中某個表的所有資料:
$article=new Article;
$articles=$article->all(); //這樣就得到了articles表所有記錄的所有欄位;
$count = $article->where('class_id','=', 1)->count(); //是不是一看就明白了意思?查詢分類id為1的記錄,並計算出個數。
- 1
- 2
- 3
這樣的例子太多,舉例就舉這兩個。
2、文件非常豐富,社群也是非常活躍,現在全球範圍內佔有率最高,基本上所有的問題都可以找到答案;
3、大量的第三方開源庫(composer收錄的超過5500個包),可以快速方便的實現模組功能,第三方優秀的包官方都有詳細使用手冊。例如:laravel/collective
4、安全機制非常齊全,提交表單的資料驗證(驗證有差不多80種,能想到的基本都有),提交資料時產生隨機_token驗證,避免非法提交,能避免跨域攻擊;
5、中介軟體和路由,對訪問進行過濾及控制,呼叫函式類和方法前進行判斷請求的合法性,避免非法請求;
6、錯誤處理機制簡單好用,如果出錯直接呼叫$error->all()
,即可輸出全部錯誤,對錶單驗證尤其好用;
缺點:
1、稍複雜,上手比一般框架要慢;
2、大量引用第三方包,但我們只使用類中的部分方法,程式碼顯得有些冗餘;
3、效能與一般框架稍有優勢,但比yaf等小型框架效率會低一些。