一、重要文件及目录
应用层目录
/usr/local/work/laravel/app/Http/Kernel.php
中间件,组中间件,路由中间件配置
/usr/local/work/laravel/app/Http/Middleware
自定义中间件,及复写中间件的存放位置
/usr/local/work/laravel/app/Providers
供应商目录 RouteServiceProvider.php 路由种类文件
框架目录
/usr/local/work/laravel/vendor/laravel/framework/src/Illuminate
框架核心文件
/usr/local/work/laravel/vendor/laravel/framework/src/Illuminate/Support/Facades
以所有框架文件的父类,允许用 Auth::XXX 在控制器中调用[核心文件夹]
Auth 自由
Broadcasting 广播
Bus
Cache 缓存 redis,memcached,file,APC
Config
Console
Container 容器类 [核心类]
Cookie
Database 数据库操作
Encryption aes sha256 加密
Events
Filesystem
Foundation 基础类
Hashing
Http 请求数据,响应数据,文件上传
Logging 日志类
Mail 邮件类
Notifications 通知
Pagination 分页
Pipeline 通道类[核心类]
Queue 队列
Redis REdis 类包
Routing 路由类
Session
Support
Translation
Validation
View
composer.json
/usr/local/work/laravel/vendor/laravel/framework/src/Illuminate/Contracts
抽象方法类文件夹
二、思想
1.路由
入口文件->app/Http/Kernel.php[$middleware]
->由管道类依次调用中间件handle()->由路由类调用管道类依次调用
app/Http/Kernel.php[$middlewareGroups]中间件handle()->最后调用
\Illuminate\Routing\Controller.php 中 callAction 方法
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}