服务容器
用于管理类依赖和执行依赖注入的强大工具
服务容器绑定都是在服务提供者中完成
绑定
通过 $this->app 变量访问容器,然后使用 bind 方法注册一个绑定
数据库
四种类型的数据库
MySQL
Postgres
SQLite
SQL Server
数据库配置位于config/database.php
查询构建器
中间件
所有的中间件都位于 app/Http/Middleware 目录。
HTTP 请求到达目标动作之前/后必须经过的“层”
全局中间件
相应的中间件类设置到 app/Http/Kernel.php 的数组属性 $middleware 中
分配中间件到路由
应该在 app/Http/Kernel.php 文件中分配给该中间件一个简写的 key
在路由选项数组中使用 $middleware 键来指定该中间件
中间件组
使用 HTTP Kernel 的 $middlewareGroups 实现
中间件参数
可终止的中间件
定义一个可终止的中间件并添加 terminate 方法
控制器
存放在 app/Http/Controllers 目录中
继承自 Laravel 自带的控制器基类 Controller
控制器中间件
控制器的构造函数中使用 middleware 方法
RESTful 资源控制器
依赖注入 & 控制器
在控制器的构造函数中类型声明任何依赖
路由缓存
HTTP 请求
依赖注入获取当前 HTTP 请求实例
在控制器的构造函数或方法中对 Illuminate\Http\Request 类进行类型提示
获取请求输入
文件上传
视图
基本使用
视图文件存放在 resources/views 目录
视图还可以嵌套在 resources/views 的子目录中,用“.”号来引用嵌套视图
视图数据
通过数组方式将数据传递到视图
在视图间共享数据
使用视图工厂的 share 方法
需要在服务提供者的 boot 方法中调用 share 方法
视图Composer
数据要在视图每次渲染时都做绑定,可以使用视图 Composer 将逻辑组织到一个单独的地方
当视图被渲染时的回调或类方法
要在服务提供者中注册视图 Composer
Blade 模板引擎
Blade 视图都会被编译成原生 PHP 代码并缓存起来直到被修改
Blade 视图文件使用 .blade.php 文件扩展并存放在 resources/views 目录下
服务注入
扩展 Blade
使用 directive 方法来注册一个指令