您好,登錄后才能下訂單哦!
這篇文章主要介紹了laravel有哪些缺點,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
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有哪些缺點”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。