CCharleyChanincharleychan.hashnode.dev·Mar 31, 2023 · 2 min readLaravel中间件原理理解-Pipeline管道模式打开入口文件index.php,我们发现,laravel在通过Application对象解析(make)出 Http Kernel对象后,会调用kernel对象的handle方法,我们的中间件Middleware就是在这里去调用的。 <?php //index.php 入口文件 $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); $response = $kernel->handle( $request = I...00
CCharleyChanincharleychan.hashnode.dev·Nov 18, 2021 · 1 min read装饰器模式在Laravel中的应用学习笔记内容来自 - 《Laravel框架关键技术解析》 装饰器模式在Laravel中的(请求中间件)的应用,简单例子 <?php interface Middleware { public static function handle(Closure $next); } class StartSession implements Middleware { public static function handle(Closure $next) { ec...00
CCharleyChanincharleychan.hashnode.dev·Nov 18, 2021 · 1 min read装饰器模式学习笔记内容来自 - 《Laravel框架关键技术解析》 装饰器模式:是在开放-关闭原则下实现动态添加或减少功能的一种方式 Laravel在解析请求生成响应之前或之后需要经过中间件的处理,中间件就是使用装饰器模式实现的 简单的例子: <?php interface Decorator { public function display(); } class CharleyChan implements Decorator { private $name; public...00
CCharleyChanincharleychan.hashnode.dev·Nov 16, 2021 · 2 min readLaravel简单版IOC服务容器学习笔记内容来自 - 《Laravel框架关键技术解析》 控制反转:将组件(类)间的依赖关系从程序内部提到外部容器(IOC服务容器)来管理; 依赖注入:将组件(类)的依赖通过外部以参数或其他形式来注入; 控制反转和依赖注入本质上指的都是一个意思; <?php //简化版服务容器 class Container { protected $bindings = []; //绑定接口和生成相应实例的回调函数 public function bind($abstract, $co...00
CCharleyChanincharleychan.hashnode.dev·Nov 14, 2021 · 1 min readComposer自动加载Composer介绍 命名空间,PSR0、PSR4介绍 FILE、DIR、__autoload()、spl_autoload_register()自动加载系统函数介绍 Composer源码解析,composer.json、composer.lock、autoload_real.php引导文件,ClassLoader.php自动加载核心文件00