Laravel是什么框架

子凡 2019-07-08 15:25:20
问答

Laravel 是一个由Taylor Otwell所建立,免费的开源 PHP Web 框架,旨在实现的Web软件的MVC架构,并作为CodeIgniter的替代方案。其源代码托管于GitHub,许可条款为MIT许可证。

Laravel 是一个由 Taylor Otwell 所建立,免费的开源 PHP Web 框架,旨在实现的 Web 软件的 MVC 架构,并作为 CodeIgniter 的替代方案。其源代码托管于 GitHub,许可条款为 MIT 许可证。

Laravel

Laravel 的特色包含:支持用户身份验证和许可,具有模块化的包系统且有专属的包库,提供连接许多种类的关连式数据库的方式,提供工具来协助应用程序的部署和维持,并且发展出许多语法糖。

Laravel 与 Symfony、Zend、CodeIgniter、Yii2 和其他框架一起被视为最受欢迎的 PHP 框架之一。

Laravel 在 2011 年 6 月 9 日发布了第一个 Beta 测试版本,并在一个月后发布正式版本 Laravel 1。Laravel 1 默认提供了身份验证、多语系、 Model(MVC)、view、session、路由和其他机制,但缺少控制器,以至于无法成为一个真正的 MVC 框架。

Laravel 的核心设计理念

Bundles:Laravel 3 所提供的 包管理系统,能让开发者轻松的将一些套装功能扩展至项目中。 Laravel 4 再进一步的使用 Composer 管理包之间的相依性,也因此得以从 Packagist 上安装泛用于各种框架或 Laravel 专用的 PHP 包。

Eloquent ORM (对象关系映射):将 Active Record 模式 以 PHP 实现,提供一些函数来创建 数据库 对象之间的关系。 依照 Active Record 模式的原则,Eloquent ORM 以 类别 代表 数据表,并将这些类别的对象实例与数据表中的单一笔数据做绑定。

Query builder:于 Laravel 3 发布,提供一个能更直接的访问 Eloquent ORM 的管道。 与其撰写 SQL 查询语法,Laravel 的 query builder 提供了一系列的类别与 函数,得以使用程序化调用的方式来运行 SQL 查询。 同时也可以对查询语法的运行结果做(可再被查询的)缓存。

Application logic:在项目中将其他已开发的功能集成,显著的案例为 Controller 的使用与路由的宣告。 其语法与 Sinatra 框架相似。

Reverse routing:为项目内的超链接创建成一个一个的路由,当套用了路由的超链接被修改,便会自动更新所有使用了该路由的超链接。 使用时需要填入要使用的路由的名称,Laravel 会将他们转换成对应的 URIs。

Restful controllers:提供一种将 HTTP GET 和 POST requests 背后的逻辑切割的方式。

Class auto loading:能自动加载 PHP 的类别,省去手动维护所有类别的引用路径的麻烦。 类别只会在被使用到的当下才加载,如此也能避免加载不必要的类别。

View composers:是可自定义的一些代码区块,当 view 被加载时便会被运行。

Database seeding:提供一种管道来把默认的数据用来填充到数据库,便于进行软件测试,或被作为应用程序最初的建置步骤。

单元测试 也被集成到了 Laravel,其包括的测试案例能够侦测并预防框架内的回归,并可以使用 Artisan CLI 来运行单元测试.

Homestead: 一个 Vagrant 虚拟机,预载了 Laravel 开发者需要的所有开发工具,包括 Ubuntu,Gulp,Bower 以及其他辅助网页开发的工具。

Artisan CLI

Laravel 的 命令行接口 (CLI),称为 Artisan,于 Laravel 3 推出时功能还相当有限。 随后 Laravel 将架构改为以 Composer 作为基底,让 Artisan 得以和 Symfony 框架的组件互补,也因此 Laravel 4 的 Artisan 提供了更多的功能。

Artisan 的功能被分散到不同的子命令,用以协助打造与管理这些由 Laravel 建构而成的软件。最常见的使用情境如:操作数据库的 migration & seeding、汲取包的静态资源、为新创建的 controller 或 migration 产生代码模板(为开发者省去重复撰写相同代码的时间)。开发者也可以自行新增新的命令,来扩展 Artisan 的功能(如自动化的运行任务)。

服务器配置

Laravel 对服务器环境有少量的要求。 然而,这些要求可以透过使用家用的虚拟机来达成,因此强烈建议使用家用作为本地的开发环境。

若不使用 Homestead,您需要确保您的服务器满足以下的要求,这里以长期支持版本 Laravel 5.5 为例,如果是最新版本 Laravel 5.8 需要 PHP 版本 >= 7.1.3 :

  • PHP 版本 >= 7.0.0
  • OpenSSL PHP 扩展
  • PDO PHP 扩展
  • Mbstring PHP 扩展
  • Tokenizer PHP 扩展
  • XML PHP 扩展
0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • Discuz-Q

    Discuz! Q是什么

    Discuz! Q是一套跨端全域的社区工具,是平行于Discuz! X系列的另一条产品线,Discuz! Q的目标是帮助流量大V、网红、知识付费、微信生态和移动互联网的创业者们,更轻易的完成用户沉淀和转化付费。
  • Django

    Django,一个高级Python Web框架

    Django是一个由Python编写的开源Web框架,以其“不要重复自己”的设计哲学、强大的对象关系映射(ORM)、自动化管理界面、高效的安全措施和丰富的第三方库支持而闻名。它提供了一个全面的工具集,以支持快速开发高质量的Web应用,适合从小型项目到大型企业级应用。
  • thinkphp

    ThinkPHP是什么

    ThinkPHP 是一个快速、兼容而且简单的轻量级国产 PHP 开发框架,遵循 Apache2 开源协议发布,从 Struts 结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和 MVC 模式。
  • JetBrains PhpStorm

    PhpStorm是什么软件

    PhpStorm是一个基于JetBrains的IntelliJ IDEA平台的PHP商业跨平台IDE。提供PHP,HTML和JavaScript编辑器,具有动态代码分析,错误预防和PHP和JavaScript代码的自动重构。
  • PHPDevShell

    PHPDevShell是什么

    PHPDevShell是一个开源的快速应用开发框架,用于开发不含Java的纯PHP。它有一个完整的GUI管理员后台界面。其主要目标在于开发插件一类的基于管理的应用,其中速度、安全、稳定性及弹性是最优先考虑的重点。
  • Phpixie

    PHPixie是什么

    PHPixie是一个轻量级的 MVC PHP 框架,设计用于快速开发,易于学习,并提供一个坚实的基础开发框架。