laravel底層拜讀

一、重要文件及目錄
應用層目錄
/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);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章