Laravel特点:1、“artisan”命令行工具,可以自动化完成手动的工作;2、“migration”管理数据库和版本控制;3、测试功能也很强大;4、适合应用各种开发模式TDD、DDD和BDD;5、支持Composer包管理工具。

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。推荐视频教程:《PHP教程》

功能特点

1、语法更富有表现力

你知道下面这行代码里 “true” 代表什么意思么?$uri = Url::create(‘some/uri’, array(), array(), true);

另外,你知道其他参数在这里的意思么(除了第一个)?当然你不知道。因为这行代码没有表现力。

再看看这段代码:$url = URL::to_secure(‘some/uri’);

这个表达式使用HTTPS协议创建了一条URL链接, 事实上,上面两种写法都在做同样的事情,但哪一个更一目了然,更富有表现力呢?

2、高质量的文档

Laravel 有一个非常棒的的社区支持。Laravel代码本身的表现力和良好的文档使PHP程序编写令人愉快。

3、丰富的扩展包

Bundle是Laravel中对扩展包的称呼。它可以是任何东西 -- 大到完整的ORM,小到除错(debug)工具,仅仅复制&粘贴就能安装任何扩展包!Laravel的扩展包由世界各地的开发者贡献,而且还在不断增加中。

4、开源、托管在GITHUB上

Laravel是完全开源的。所有代码都可以从Github上获取,并且欢迎你贡献出自己的力量。

技术特点

1、Bundle是Laravel的扩展包组织形式或称呼。Laravel的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中。你可以选择下载一个扩展包(bundle)然后拷贝到bundles目录,或者通过命令行工具“Artisan”自动安装。

2、应用逻辑(Application Logic)可以在控制器(controllers)中实现,也可以直接集成到路由(route)声明中,并且语法和Sinatra框架类似。Laravel的设计理念是:给开发者以最大的灵活性,既能创建非常小的网站也能构建大型的企业应用。

3、反向路由(Reverse Routing)赋予你通过路由(routes)名称创建链接(URI)的能力。只需使用路由名称(route name),Laravel就会自动帮你创建正确的URI。这样你就可以随时改变你的路由(routes),Laravel会帮你自动更新所有相关的链接。

4、Restful控制器(Restful Controllers)是一项区分GET和POST请求逻辑的可选方式。比如在一个用户登录逻辑中,你声明了一个get_login()的动作(action)来处理获取登录页面的服务;同时也声明了一个post_login()动作(action)来校验表单POST过来的数据,并且在验证之后,做出重新转向(redirect)到登录页面还是转向控制台的决定。

5、自动加载类(Class Auto-loading)简化了类(class)的加载工作,以后就可以不用去维护自动加载配置表和非必须的组件加载工作了。当你想加载任何库(library)或模型(model)时,立即使用就行了,Laravel会自动帮你加载需要的文件。

6、视图组装器(View Composers)本质上就是一段代码,这段代码在视图(View)加载时会自动执行。最好的例子就是博客中的侧边随机文章推荐,“视图组装器”中包含了加载随机文章推荐的逻辑,这样,你只需要加载内容区域的视图(view)就行了,其它的事情Laravel会帮你自动完成。

7、反向控制容器(IoC container)提供了生成新对象、随时实例化对象、访问单例(singleton)对象的便捷方式。反向控制(IoC)意味着你几乎不需要特意去加载外部的库(libraries),就可以在代码中的任意位置访问这些对象,并且不需要忍受繁杂、冗余的代码结构。

8、迁移(Migrations)就像是版本控制(version control)工具,不过,它管理的是数据库范式,并且直接集成在了Laravel中。你可以使用“Artisan”命令行工具生成、执行“迁移”指令。当你的小组成员改变了数据库范式的时候,你就可以轻松的通过版本控制工具更新当前工程,然后执行“迁移"指令即可,好了,你的数据库已经是最新的了!

9、单元测试(Unit-Testing)是Laravel中很重要的部分。Laravel自身就包含数以百计的测试用例,以保障任何一处的修改不会影响其它部分的功能,这就是为什么在业内Laravel被认为是最稳版本的原因之一。Laravel也提供了方便的功能,让你自己的代码容易的进行单元测试。通过Artisan命令行工具就可以运行所有的测试用例。

10、自动分页(Automatic Pagination)功能避免了在你的业务逻辑中混入大量无关分页配置代码。方便的是不需要记住当前页,只要从数据库中获取总的条目数量,然后使用limit/offset获取选定的数据,最后调用‘paginate’方法,让Laravel将各页链接输出到指定的视图(View)中即可,Laravel会替你自动完成所有工作。Laravel的自动分页系统被设计为容易实现、易于修改。虽然Laravel可以自动处理这些工作,但是不要忘了调用相应方法和手动配置分页系统哦!推荐教程:《Laravel》

php laravel 优点,Laravel 特点有哪些?相关推荐

  1. 【laravel】laravel的基础学习笔记

    前言 好久没有写博客了,差点忘了这个坑,现在要做公司的项目,赶紧回来学习下laravel 路由 路由用白话讲就是把用户访问的地址,和你自己的控制器进行绑定,是用户能访问到你的控制器. 基本控制器 &l ...

  2. php laravel paginate,laravel 8 修改默认的paginate分页样式 的方法可以很简单

    我们的分页样式成了这样,如果,为了一个分页,放弃bootstrap,是不聪明的,或者重写分页也是不太合适的. 还是老套路,先去百度,看看有没有现成的轮子... 结果搜到了这个, laravel8替换p ...

  3. php导出照片,Laravel使用 Laravel Excel文件导出图片功能

    Laracel 中可以使用Laravel Excel进行Excel或者PDF的导出,使用composer进行安装此差价,Laravel-Excel将PHPExcel进行封装. 其官方文档:http:/ ...

  4. php mail laravel,邮件 - Laravel - 为 WEB 艺术家创造的 PHP 框架。

    邮件 配置 Laravel的邮件功能构建于流行的SwiftMailer库之上,并提供了简介.高效的API.邮件配置信息在app/config/mail.php文件中,并提供了包含SMTP主机.端口和证 ...

  5. php框架laravel下载,laravel 5.4

    laravel 5.4是一套PHP Web开发框架,能够让我们的用户从一堆杂乱的代码中解脱出来,通过一种简洁.优雅的形式进行PHP Web的开发,该框架能够让用户的每行代码都能够既简洁又富于表达力. ...

  6. php laravel 教程,Laravel框架学习之新手教程

    本篇文章主要讲述了新手学习laravel的过程中必须要了解的事项,具有一定的参考价值准备学习laravel框架的朋友一定不能错过哦,希望看完能对你有所帮助. 一.Laravel环境搭建 1.windo ...

  7. 【Laravel】Laravel使用总结(一)

    写在前面的话:入职快半个月了,趟了许多坑.就这些天遇到的各类问题总结了一些Laravel 中一些小技巧.希望对大家有帮助,同时也方便以后查阅. 1.数据库查询 怎么统计一篇文章有多少评论?最快的方法是 ...

  8. Laravel :Laravel、Symfony、 Zend 对比测试

    网上充斥着各式各样的 PHP 框架性能对比的文章.然而,他们总是把"苹果"和"橘子"做对比(看上去有点儿像,都是圆的,但其实不是一码事).这次,我将着重对 La ...

  9. php单独使用laravel数据库 | laravel手动关闭数据库连接

    安装 composer require illuminate/database laravel单独使用案例 增删改查-手动关闭数据库 <?php date_default_timezone_se ...

最新文章

  1. linux编译树莓派内核,编译树莓派 4B Linux 5.9 内核
  2. mfc和mysql连接 dao_用MFC DAO 在VC++6.0进行与数据库的连接,对数据库进行定义和操作,最后断开数据库的连接等各种操作。...
  3. sql count为空时显示0_C0010负坐标显示为正数+红色0值参考线
  4. python分词统计词频_基于结巴分词做的全文分词统计词频小脚本
  5. 理解group by
  6. 小菜鸟一步步打造图书馆外挂之十三:用户编辑界面的实现
  7. 广告roi怎么计算公式_信息流ROI出价技巧详解及计算公式
  8. MYSQL 远程访问被限制
  9. 强化学习中价值迭代和策略迭代各有什么优缺点?
  10. Modbus_TCP 报文格式解析
  11. bootstarp怎么使盒子到最右边_基于Android血统的NAS+盒子共生体——零刻GS-king X 开箱初体验...
  12. Java到底能做什么事情呢?
  13. Ionic 安卓兼容性问题解决
  14. 如何更改Excel2016中折线图的连接点颜色和样式?
  15. 金蝶BOS自定义元数据
  16. Facebook攻略--注册流程
  17. android 支付宝快捷支付
  18. 五、C语言指针和数组
  19. 爬虫_urllib2库的使用
  20. 安装升级Exchange Server 2010 SP1补丁

热门文章

  1. 一张图看懂阿里云网络产品【四】NAT网关
  2. 气象气候应用在Intel最新处理器Icelake上的性能测评
  3. 如何在 Kubernetes 上配置 Jenkins?
  4. 轻松了解面试官心理!ElasticSearch写入数据的工作原理是什么? | 技术头条
  5. 台账软件测试自学,测试情况汇总.docx
  6. python期中考试知识点_大学期末考试,有哪些高效复习的技巧?
  7. 三类计算机语言及特点,计算机语言分为哪三类,计算机语言有哪些
  8. 前后端敏感数据加密方案及实现_02
  9. 使用IntelliJ IDEA 2020 高效开发 springboot项目
  10. Vue - 去除控制台“你正在开发模式下运行Vue”的警告