laravel框架的缺點有:1、基於元件式的框架,比較臃腫;2、框架大,比yaf等小型框架的效率會低一些;3、框架較複雜,上手比一般框架要慢,學習成本高。
本教學操作環境:windows7系統、Laravel6版、Dell G3電腦。
laravel框架
Laravel是一套簡潔、優雅的PHP Web開發框架(PHP Web Framework)。它可以讓你從麵條一樣雜亂的程式碼中解脫出來;它可以幫你構建一個完美的網路APP,而且每行程式碼都可以簡潔、富於表達力。
優點
檔案豐富
大量的第三方開源庫
安全機制齊全(表單驗證等)
中介軟體和路由對存取進行過濾及控制,避免非法請求
錯誤處理機制友好
支援composer包管理工具
集合了php比較新的特性及各種設計模式。
缺點:
基於元件式的框架,比較臃腫
效能比yaf等小型框架的效率會低一些
較複雜,上手比一般框架要慢,學習成本高
使用 Laravel 框架的好處
如果上面這些聽起來已經很有趣,並且足以鼓勵你在你開發下一個應用程式時使用框架,那麼接下來讓我分享一下 Laravel 框架相對於其它 PHP 框架所具有的一些優勢。這些優勢無疑使 Laravel 框架成為最佳 PHP 框架的主要競爭者之一。
1. 開箱即用的使用者身份驗證
Laravel 框架提供了開箱即用的使用者身份驗證功能。任何現代的 web 應用程式都需要使用者身份驗證,使用 Laravel 框架,你幾乎不需要做任何事情就可以將它設定好。當你設定使用者身份驗證時,Laravel 框架會建立所有重要的元件,如使用者模型、註冊和登入控制器,以及相應的檢視。而且在將來,根據應用程式所需的業務邏輯,將這些元件擴充套件到新新增的功能上也是非常容易的。
除此之外,Laravel 框架還提供了 Socialite package(擴充套件包),它使你的應用程式能夠使用各種社群網路(如 Facebook, Google Plus 和 Twitter)對使用者進行身份驗證。要使它工作正常,你只需進行最低限度的設定。
2.約定優於設定(也稱作按約定程式設計)
Laravel 框架同樣採用 「約定優於設定」 的方法。這基本上意味著,如果遵循了不同元件的命名約定,就幾乎不必關注設定工作。如果你遵循了命名約定,Laravel 框架自身就會幫你處理許多低階的細節,而且一切都會神奇地開始工作。如果你一直使用傳統的 PHP 程式設計,這在一開始可能會讓您感到難以忍受。但一旦你嚐到了甜頭,你就再也不想回頭了。
3. 輕鬆使用的電子郵件功能
很難想象一個現代的應用程式會沒有電子郵件功能。使用 Laravel 框架,實現電子郵件傳送功能非常容易。除了 SMTP 和 Php 郵件功能外,Laravel 框架還支援各種各樣的電子郵件通知服務,如 Mailgun,Mandrill,SparkPost,Amazon SES,SendMail 等等。這些服務可以使你能夠快速開始通過本地或基於雲的服務傳送郵件。你還可以使用 Nexmo 通過 Slack 和 SMS 傳送通知。所有這些服務在 Laravel 框架中都是開箱即用的。
Laravel 框架還在電子郵件模板中支援 Markdown (譯者注:Markdown 是一個文字到 HTML(text-to-HTML)的轉換工具),它能夠使你在很少的時間內完成電子郵件的建立工作。
4.Artisan 命令
對我個人而言,Artisan 命令列是 Laravel 框架提供的最簡練和最有用的功能。Artisan 是 Laravel 框架的命令列介面,它幫助開發人員使用命令列本身自動化許多工。Artisan 命令可以在應用程式本身中使用,開發人員也可以建立額外的 Artisan 命令。
你能夠想到的所有常見任務,都能找到一個 Artisan 命令與之對應。例如,建立一個模型、建立一個控制器、建立一個資料庫種子、遷移資料庫等等。這個列表是無窮無盡的。我之所以說它 「簡練」,是因為你所要做的就是傳遞命令,剩下的工作全交給 Laravel 框架來處理。
5.「測試驅動開發」 的測試自動化
Laravel 框架自帶對 PHPUnit 的支援,使得采用 「測試驅動開發」 模式的 PHP 應用程式的測試變得非常容易。為應用程式編寫單元測試變得很簡單,而且確保事情按照你希望的方式進行。
6. 簡潔的依賴注入
一旦你開始使用 Laravel 框架工作,你很快就會意識到 Laravel 框架是從 Ruby on Rails 和更多的函數式語言中獲得的靈感,而不是從 Java。這一點從 Laravel 框架處理依賴注入的方式就可以輕易地看出這一點。儘管實現依賴注入可以採取複雜的模式,但 Laravel 框架採取的做法與之相反,它提供了建立全域性助手函數的簡單方法。藉助於全域性函數和 Faade 靜態代理,我們就可以在任何需要的地方輕鬆地實現依賴注入。
7. 業務邏輯和顯示程式碼的分離
Laravel 遵循模型 - 檢視 - 控制器(MVC)架構模式,將業務邏輯與檢視分離。這種方法有很多優點。而要真正瞭解它優點,你需要了解什麼是 MVC 模式,以及你的應用程式是否需要這樣的體系架構。
8. Eloquent ORM(物件關係對映)實現
Eloquent 是 Laravel 提供的 ORM(物件關係對映)實現。更多資訊可以參考維基百科中的連結(https://en.wikipedia.org/wiki/Object-relational_mapping)。Eloquent 使得從資料庫中獲取資料變得非常容易。建立表之間的關係並從這些表中獲取資料也變得很簡單。Eloquent 還允許你在表中建立各種連線,並提供許多幫助函數,使與資料庫的互動變得非常簡單。你幾乎不必編寫 SQL 查詢語句或函數。因為有了 Eloquent ORM,Laravel 框架就可以為下面這些資料庫提供開箱即用的支援:
MySQLPostgreSQLSQLiteSQL Server 你真是說對了,這基本上意味著只要你使用 Eloquent,你就不必擔心與上述任何資料庫的相容性。從一個資料庫切換到另一個資料庫也非常容易。現在試著想象一下這給你的應用程式帶來的可延伸性,不妨讓我用一個例子來解釋這一點。假設你有一個應用程式,這個應用程式在開始時有一個很小的使用者群。由於使用者數量較小且應用程式處於初始階段,因此你決定使用 MySQL 作為資料庫。一段時間過後,你的應用程式的使用者數量增長到了相當高的級別,現在你可能需要切換到 SQL Server 資料庫。因為使用了 Eloquent,這個切換現在變得非常簡單,就像更改 Laravel 框架中的特定設定詳細資訊一樣容易。
9. 佇列(Queue)和排程器(Scheduler)
在開發應用程式時,通常會有一些耗時的任務。這些任務需要推遲到稍後的時間執行,這樣它們就不會給使用者的流程造成阻塞。這類任務的一個完美例子可能是生成一個統計使用者請求建立 CSV 檔案的 PDF 報告。Laravel 框架的佇列服務提供了一個統一的 API,用於將這些任務推遲到應用程式的稍後時間處理。
談到 Laravel 框架的命令排程器,它是那些繁瑣的定時任務(Cronjob)的完美替代品。在很多時候,開發人員必須為特定的任務設定定時作業。這種任務的一個完美例子是向所有訂閱使用者傳送他們訂閱的每週簡訊 (Newsletter)。為了設定這個定時作業,開發人員必須使用 SSH 命令登入到伺服器並在作業系統級別設定這個定時作業。這在一段時間內會成為一個麻煩,因為這些定時作業不能成為 GIT 和其它版本控制系統管理的一部分。但是 Laravel 框架的命令排程器使用內建函數提供了一個乾淨的 API 來排程各種各樣的任務。這樣,你就不必使用 SSH 命令登入到伺服器的終端,並且所有這些被排程的作業都成為程式碼的一部分而納入版本控制系統管理的範圍。
10. 簡潔的路由
Laravel 框架處理路由的方式簡單直觀。有一個單一的 web.php 檔案來處理所有的 web 路由。如果某些路由需要公共中介軟體,它們可以很容易地在 Laravel 中分組。
路由的一個完美的應用場景是:應用程式中的某些頁面,在使用者可以檢視它們之前,這些頁面需要使用者身份驗證。Laravel 框架可以將所有這些頁面分組,並且經過 Auth 中介軟體檢查,以確保只有登入到系統的使用者才能檢視這些頁面。Laravel 框架還提供了一個簡潔的路由模型繫結(route model binding),其中模型(model)可以繫結到路由。有了這個幫助,檢視可以直接從路由本身返回,甚至不需要存取控制器。
11. Composer 管理依賴關係
Laravel 框架使用 Composer 管理依賴關係和自動載入。Composer 可以幫助你安裝 Laravel 擴充套件包,這使得依賴管理變得輕而易舉。在任何時候,你都可以檢查 package.json 檔案來檢視你的應用程式正在使用的所有依賴項。Composer 還讓你能夠使用單個 Composer 命令更新依賴項。
12.Blade 模板引擎
Blade 是 Laravel 框架的模板引擎。Blade 可以讓你在分離檢視和業務邏輯上領先一步。它能讓你的檢視程式碼保持非常乾淨。一旦你對 MVC 架構模式和 Laravel 對它的實現有了清楚的瞭解,你就會更加清楚地認識到 Blade 模板引擎的重要性。Blade 還提供了模板繼承,因此你可以將最近使用的模板劃分為多個部分,並讓其它檢視檔案繼承這些部分。有了 Blade 的幫助,你就可以建立一些邏輯較小的檢視部分,然後可以包含這些小的部分以形成完整的檢視。
13. 檔案
這是一個有點灰色的區域。當我最初開始使用 Laravel 框架的時候,我在查詢檔案時確實遇到了問題。當時所有的一切都沒有檔案,但是在某個時刻我突然發現有些事情開始神奇地工作,那就是大家始遵循命名規範的那個時刻。現在,有一些 API 檔案列出了 Laravel 框架中宣告的每個類和方法。一旦你掌握瞭如何使用它,並且知道如何使用 Laravel 檔案來為你的利益服務,我保證你不會再有任何抱怨。
14. 活躍社群
Laravel 確實有一個活躍的社群。當你遇到任何問題時,你都可以搜尋,而且肯定會查到許多針對你的問題的 StackOverflow 貼文。除了在 StackOverflow 上有一個活躍的社群外,還有一個叫做 Laracast 的討論論壇。你可以免費註冊成為 Laracast 論壇和社群的一部分,那個社群現在非常活躍。
我認為這些優勢足以讓你對 Laravel 框架感到興奮。儘管把它定義為完美肯定是誇大其詞了,但我可以肯定的是,Laravel 框架絕對是最好的 PHP 框架之一。
相關推薦:
以上就是laravel有什麼缺點的詳細內容,更多請關注TW511.COM其它相關文章!