• 技术文章 >后端开发 >php教程

    php框架Minor5事件(附代码)

    PHPzhongPHPzhong2018-10-12 09:31:35原创652
    5.1 事件Event

      Minor的 Event 类提供一个简单的观察者实现,允许您在应用程序里订阅与监听事件。

    5.1.1 订阅事件

      首先创建一个事件类:

    <?php
    
    namespace App\Event;use Minor\Event\Event;class DemoEvent extends Event
    {private$name;publicfunction __construct($name)
        {$this->name = $name;
        }publicfunction setName($name)
        {$this->name = $name;
        }publicfunction getName()
        {return$this->name;
        }
    }

      然后在配置文件中注册这个事件:

    <?phpreturn$events = ['App\Event\DemoEvent'    =>    ['App\Listener\DemoListener' => 'handle',    ],];

    5.1.2 触发事件

      Minor提供了一个事件管理类:Minor\Event\EventManger,通过调用该类的静态方法fire:EventManager::fire($event)就可以触发这个事件,例:

    class FooController extends Controller
    {publicfunction bar($productName)
        {$event = new DemoEvent('DemoEvent');
            EventManager::fire($event);...    }
    }

    5.2 监听器

      当触发事件后事件管理器EventManager就会通过配置文件去触发监听器的制定方法。在5.1.1配置文件中我们配置了DemoEvent的监听器为App\Listener\DemoListener的handle方法,可以看一下这个类的实现:

    <?php
    
    namespace App\Listener;use App\Event\DemoEvent;use Minor\Event\Listener;class DemoListener extends Listener
    {publicfunction handle(DemoEvent $event)
        {echo '[DemoListener] handle the event:[' . $event->getName() .'] success!
    
    ';
        }
    }

    以上就介绍了php框架之Minor5事件(附代码)的内容,希望对PHP教程有兴趣的朋友有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:Nginx的http配置结构体的组织结构 下一篇:直接任意球和间接任意球的区别 PHP 求任意n个正负整数里面最大的连续和
    千万级数据并发解决方案

    相关文章推荐

    • 用PHP实现自己的sha-256哈希算法!• PHP下传文件最大限制• 用过WordPress,对WordPress插件熟习的前辈请进• php中字符串中某一个字符的轮换• 让php5.1.6支持json_encode()解决方案
    1/1

    PHP中文网