Laravel 5.8 中文文档手册

收藏(10)分享
阅读(6110)更新时间(2019-08-13)

《Laravel 5.1/5.8速查表:https://www.php.cn/phpkj/laravel/cheatsheet58.html 》 手册简介:Laravel 5.8 在 Laravel 5.7 的基础上继续进行优化,包括引入新的 Eloquent 关联关系(has-one-through)、优化邮箱验证、基于约定的授权策略类自动注册、 DynamoDB 缓存及 Session 驱动、优化任务调度器的时区配置、支持分配多个认证 guard 到广播频道、PSR-16 缓存驱动规范等等。


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

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

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

提示:在继续学习laravel框架之前,你需要对PHP语言有基础的了解。

功能

以下几点为 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 以及其他辅助网页开发的工具。

提示:我们的Laravel 5.8教程将帮助您学习从初级到高级的Laravel 知识。如果你有任何疑问,请前往PHP中文网Laravel 社区提出你的问题,会有热心网友为你解答。

官方提供的包

可透过 composer 以及 packagist 安装下列模块:

  • Cashier 于 Laravel 4.2 推出,可串接订阅制付款服务如 Stripe,并提供 优惠券 和 收据 等功能。

  • SSH,于 Laravel 4.1 推出,允许程序透过 SSH 在远程服务器运行 CLI 指令 。

  • Scheduler, 于 Laravel 5.0 推出,可以透过程序调度 Artisan 指令的运行 cronjob,但仍需依赖 Cron daemon。

  • Flysystem,于 Laravel 5.0 推出,统一了 文件系统 的函数,让本地端和 云端 存储空间(如 亚马逊 S3、Rackspace Cloud)的操作逻辑一致。

  • Socialite,于 Laravel 5.0 推出,简化串接 OAuth 的流程,提供平台如 Facebook, Twitter, Google上, GitHub 和 Bitbucket 等等。:13

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 扩展

本Laravel5.8教程手册涵盖的内容

Laravel5.8在 Laravel 5.7 的基础上继续进行优化,包括引入新的 Eloquent 关联关系(has-one-through)、优化邮箱验证、基于约定的授权策略类自动注册、 DynamoDB 缓存及 Session 驱动、优化任务调度器的时区配置、支持分配多个认证 guard 到广播频道、PSR-16 缓存驱动规范等等。

提示:本教程的每一章都包含了很多Laravel实例,您可以直接点击 "运行实例" 按钮在线查看结果。这些例子将帮助您更好地理解和运用Laravel。