php框架Minor5事件(附代码)

PHPz
풀어 주다: 2018-10-12 09:31:35
원래의
1247명이 탐색했습니다.

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 = [&#39;App\Event\DemoEvent&#39;    =>    ['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 &#39;[DemoListener] handle the event:[&#39; . $event->getName() .'] success!

';
    }
}
로그인 후 복사

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


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!