ホームページ >バックエンド開発 >PHPチュートリアル >PHP によるリスニング イベントの実装_PHP チュートリアル

PHP によるリスニング イベントの実装_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:25:30744ブラウズ

イベント監視の実装方法は、jQueryのイベントバインディングの考え方に基づいたシンプルな実装です。
主な機能:
1. イベントのバインドは、1 つのイベントへの複数のアクションのバインドをサポートし、ワンタイム イベントのバインドをサポートします
3. ログアウト イベント

コードは次のとおりです: クラス イベント
{
protected static $listens = array();

public static function listen($event, $callback, $once=false){
if(!is_callable($callback)) return false; ::$ listens[$event][] = array('callback'=>$callback, 'once'=>$once);を通じて、を通じて、を通じて、を通じて、を通じて、を通じてスルー スルー オーバー スルー スルー スルー スルー スルー スルー スルー スルー スルー スルー - - to -listeners[$event][] - - array('callback'=>$callback, 'once'=>$once) ; return self::listen($event, $callback, true);
}

public static function Remove($event, $index=null){
if(is_null($index))
unset(self::$) [$event]) を聞きます
‐ ’ s ’ s ‐ ‐ ‐‐‐ $args = func_get_args()
$event = array_shift($args); if(!isset(self::$listens[$event); ])) false を返します
foreach((array) self::$listens[$event] as $index=>$listen){
y($call戻る、$ args);
}}}}

以下は呼び出しの一部です:



コードをコピーします

コードは次のようになります:


// モニタリングウォークイベントを追加します
Event :: Listen ('Walk', Function (){
echo "私は歩いています.. .n";
});
// walk に 1 回限りのリスニング イベントを追加
Event::listen('walk', function(){
echo "I am listen.. .n";
}, true) ;
// walk イベントをトリガーします
Event::trigger('walk');
/*
私は歩いています...
私は聞いています...
*/
Event::trigger('walk'); /* 私は歩いています... */
Event::one('say', function($name=''){
echo "私は {$name} n";
});
Event::trigger('say', 'deeka'); // 出力 私は deeka です
Event::trigger('say', 'deeka') // 実行されません

クラス Foo {{
パブリック関数バー() {
echo "foo :: bar () が呼び出されます"; json_encode(func_get_args())."n"
}
}

$foo = new Foo('bar', array($foo, 'bar'));
イベント::トリガー ('バー');

イベント::リッスン('テスト', 配列($foo, 'テスト')); 'test', 1, 2, 3);

class Bar
{
public static function foo(){
echo "Bar::foo() が呼び出されます"
}
}

Event::listen(' bar1', array('Bar', 'foo'));
イベント::trigger('bar1')

Event::listen('bar2', 'Bar::foo'); ('bar2');

function bar(){
echo " bar() が呼び出されます"

Event::listen('bar3', 'bar'); );


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/825088.html技術記事イベント監視の実装方法は、jQueryのイベントバインディングの考え方に基づいたシンプルな実装です。 主な機能: 1. イベントのバインドは、1 つのイベントをサポートして複数のアクションをバインドし、ワンタイム バインディングをサポートします...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。