hook用法-php

阅读次数: 268

  • A+
所属分类:PHP PHP 建站 语言学习
<?php
/**
 * Created by 大师兄
 * 派系: 神秘剑派
 * 技能: zxc秒杀
 * Date: 2020/7/3
 * Time: 10:44
 * QQ:  997823131
 */

class Ball{

    public function down(){
        echo    "ball is downing <br>";
        //注册事件
        Hook::add("womain");
        Hook::add("man");

    }

    public function go(){
        Hook::exec();
    }

}

// 钩子的定义
 class Hook{
  static  public $hooklist = null;
    // 添加
  static  public function add($people){
        self::$hooklist[] = new $people();
    }
    // 触发事件
    public function exec(){
        foreach(self::$hooklist as $people){
            $people ->act();
        }
    }
}

class man{
    public function act(){
        echo "i am man nothing<br>";
    }
}

class womain{
    public function act(){
        echo "oh my god<br>";
    }
}

$ball = new Ball();
$ball->down();
$ball->go();

通过添加注册顺序不同,来实现不同的流程。

可以延伸出很多用法

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: