laravel有什么缺点

laravel框架的缺点有:1、基于组件式的框架,比较臃肿;2、框架大,比yaf等小型框架的效率会低一些;3、框架较复杂,上手比一般框架要慢,学习成本高。

laravel有什么缺点

本教程操作环境: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视频教程

以上就是laravel有什么缺点的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2593370.html

(0)
上一篇 2025年3月6日 17:20:52
下一篇 2025年1月4日 00:09:43

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • laravel框架就是用PHP写的吗

    laravel框架就是用PHP写的;PHP是一种脚本语言,而laravel框架是基于PHP语言开发的,是一套简洁、优雅的PHP Web开发框架,并且采用了MVC架构模式,可以用于构建一个完美的网络app,满足各种规模的开源应用程序开发需求。…

    2025年3月6日
    200
  • laravel内置了vue吗

    laravel没有内置vue;laravel是使用PHP语言编写的网页程序开发框架,而vue是一个用于创建用户界面的开源JavaScript框架,可以在laravel中部署vue,但是laravel中并不存在内置vue。 本文操作环境:Wi…

    2025年3月6日
    200
  • 如何提高 Laravel 应用程序的速度

    如何提高 laravel 应用程序的速度?下面本篇文章给大家介绍一下优化 laravel 运行效率的方法,希望对大家有所帮助! 随着以技术为导向的公司的步伐不断加快,软件开发正在加速发展。 许多新的技术堆栈正在帮助我们简化开发过程,其中许多…

    2025年3月6日
    200
  • PHP编程中有哪些常见的代码生成器?

    随着web应用程序的普及,php成为了最受欢迎的编程语言之一。然而,为了使用php编写复杂的应用程序,需要大量的编码。为了帮助程序员更快地开发php应用程序,开发人员们开发了许多代码生成器。这些代码生成器提供了快速生成php代码的工具和方式…

    编程技术 2025年3月6日
    200
  • PHP编程中有哪些常见的Laravel框架操作?

    php 是一种主流的编程语言,被广泛应用于 web 应用开发中,而 laravel 则是 php 开发中的一个重要框架。laravel 采用了类似 ruby on rails 的 mvc(model-view-controller )设计模…

    编程技术 2025年3月6日
    200
  • 前端与后端开发人员

    海伊·德夫, 在Web开发中,有两个重要的角色:前端开发和后端开发。这两个学科对于任何成功的 Web 项目都是必不可少的,但它们具有不同的角色、技能和职责。在本博客中,我们将探索前端和后端开发的世界,比较它们的特点、所需的技能和挑战。因此,…

    2025年3月6日
    200
  • Javascript没有全栈框架(这次将怀念全栈时代)

    本文开始了关于 Gergely Orosz 的 What is Old is New Again 演讲的一系列笔记,试图将他的预测(引起我强烈共鸣)转化为聪明的软件工程师的实际步骤。 “全栈正在如火如荼地进行” 当你开始考虑全栈框架时,你很…

    2025年3月6日
    200
  • 每个开发人员都应该了解的顶级后端框架

    在不断发展的 Web 开发世界中,后端框架是无名英雄,为我们最喜​​欢的应用程序背后的引擎提供动力。这些框架不仅简化了开发过程,还确保您的应用程序可扩展、安全且健壮。这里是每个开发人员都应该知道的 10 个后端框架。 1.Django-Py…

    2025年3月6日
    200
  • 当超级管理员因错误而不允许用户登录时会发生什么

    想象一下,您是网络应用程序的用户,兴奋地导航到登录页面以访问您的帐户,然后输入凭据,单击闪亮的“登录”按钮,然后满怀期待地等待。但可惜的是,您的个性化仪表板并没有迎接您,而是出现了一条不祥的错误消息:“抱歉,由于系统错误,站点管理员已暂时禁…

    2025年3月6日
    200
  • Laravel开发:如何使用Laravel Horizon监控队列?

    随着web应用程序和服务的增长,队列已经成为了一个非常重要的组件。队列可以帮助我们管理异步任务、处理服务请求、处理耗时操作等等。laravel作为一款流行的php框架,提供了一套非常强大的队列功能,可以帮助我们轻松地管理和监控队列。本文将介…

    编程技术 2025年3月6日
    200

发表回复

登录后才能评论