PHP实现监听事件
来源:互联网 发布:java图书销售管理系统 编辑:程序博客网 时间:2024/05/22 12:21
看到JavaScript中的监听事件不错于是想到这个可以在PHP里面实现吗?
首先谈一下个人对PHP中容器的粗略见解:
容器就是在一个容器类的static数组属性里面操作那些注册的类,如下:
// 容器类class Container{ private $s = array(); function __set($k, $c) { $this->s[$k] = $c; } function __get($k) { return $this->s[$k]($this); }}// 对容器的操作$c = new Container();$c->bim = function () { return new Bim();};$c->bar = function ($c) { return new Bar($c->bim);};$c->foo = function ($c) { return new Foo($c->bar);};// 从容器中取得Foo$foo = $c->foo;$foo->doSomething(); // Bim::doSomething|Bar::doSomething|Foo::doSomething
而今天要说的事件监听跟容器的实现放大基本上一致,也是对一个类的static数组属性进行操作,代码如下:
class MyClass{ public static function fnCallBack( $msg1 , $msg2 ) { echo 'msg1:'.$msg1; echo "<br />\n"; echo 'msg2:'.$msg2; }}$className = 'MyClass';$fnName = "fnCallBack";$params = array( 'hello' , 'world' );call_user_func_array( array( $className , $fnName ) , $params );
其中call_user_func_array
函数是PHP自带的,调用定义好的函数,第一个参数是方法名称,第二个参数是要调用函数用到的参数,具体详解请参考PHP手册,若call_user_func_array
需要调用类里面的函数,则该函数必须是static,或者是已经实例化的类。
参考链接
阅读全文
0 0
- php实现监听事件
- PHP实现监听事件
- php事件与事件监听、事件触发
- 自己实现事件监听
- 实现事件监听
- php 实现监听服务器
- vue监听滚动事件实现滚动监听
- android实现双击事件监听
- Fragment实现onTouchEvent事件监听
- 截屏事件监听实现
- js实现键盘监听事件
- android实现摇一摇事件监听
- ReactNative实现通知监听事件
- java中的事件监听是怎样实现随时监听的
- java中的事件监听是怎样实现随时监听的
- 观察者模式(事件监听实现)
- OnTouchListener事件监听实现方式之GestureDetector
- js如何实现模拟监听事件
- Unity之Socket[1]
- php系统函数
- php学习的笔记。包括ubuntu16.04不显示php代码的验证码(windeow下正常)等等,实时更新
- Codeforces Round #448 (Div. 2) C. Square Subsets(状压)
- 计算几何实践1:基础
- PHP实现监听事件
- AndroidStudio新建一个大项目文件夹,内含两个可独立运行的app模块,一个公共library模块
- 日志采集框架--Flume
- LeetCode简易题解--084,085
- 机器学习(2)数学基础知识-线程代数
- Lintcode:A + B 问题
- shell脚本下查看日志文件
- 1372Problem B:几何题(一)
- JAVA学习笔记——Collection工具类Collections