欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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'); } }

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1135178.htmlTechArticleMinor【 PHP框架】6.代理,minorphp框架代理 6.1 代理 Minor提供了一个类似于java中InvocationHandler接口和一个Proxy类的代理模式的实现,具体可参考...
相关标签: php5