Minor【 PHP框架】6.代理,minorphp框架代理_PHP教程
程序员文章站
2022-03-28 12:04:08
...
Minor【 PHP框架】6.代理,minorphp框架代理
6.1 代理
Minor提供了一个类似于java中InvocationHandler接口和一个Proxy类的代理模式的实现,具体可参考我的这篇文章:http://www.cnblogs.com/orlion/p/5350752.html
6.1.1 使用
class FooController extends Controller { public function bar($productName) { $log = new LogHandler(); $shop = new Shop(); $shopProxy = Proxy::newProxyInstance($shop, $log); $shopProxy->buy($productName); } }
php namespace App\Lib; use Minor\Proxy\InvocationHandler; class LogHandler implements InvocationHandler { public function invoke($target, \ReflectionMethod $method, Array $args = []) { $this->before(); $result = $method->invokeArgs($target, $args); $this->after(); return $result; } public function before() { echo '[LogHandler] before
'; } public function after() { echo '[LogHandler] after
'; } }
php namespace App\Lib; class Shop { private $mail = null; public function boot(MailProvider $mail) { $this->mail = $mail; } public function buy($productName) { echo '[Shop] buy ' . $productName . '
'; !is_null($this->mail) && $this->mail->send('DemoUser'); } }
推荐阅读
-
Minor【 PHP框架】3.路由、控制器、视图,minor框架_PHP教程
-
Minor【 PHP框架】2.第一个应用 Hello World,minorhello_PHP教程
-
Minor【 PHP框架】1.简介,minorphp框架简介_PHP教程
-
Minor【 PHP框架】6.代理,minorphp框架代理
-
Minor【 PHP框架】3.路由、控制器、视图,minor框架_PHP教程
-
Minor【 PHP框架】5.事件,minorphp框架事件
-
Minor【 PHP框架】6.代理,minorphp框架代理
-
Minor【 PHP框架】5.事件,minorphp框架事件_PHP教程
-
Minor【 PHP框架】1.简介,minorphp框架简介_PHP教程
-
Minor【 PHP框架】5.事件,minorphp框架事件