博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP钩子是什么?
阅读量:6626 次
发布时间:2019-06-25

本文共 925 字,大约阅读时间需要 3 分钟。

hot3.png

PHP 写插件 其中的HOOK 只是别人想的一个词语,术语而已

 并无实际意义
 在WINDOWS编程中 HOOK==钩子  是一种消息机制的一种
 意思就是:蚊子叮了你一口,你的大脑神经接收到了,于是指挥肢体,去赶走还是拍死这个蚊子
 这个大脑神经就是HOOK,系统接收用户操作,而HOOK则监视某一满足条件
 用户输入A ,系统接收到A,而HOOK定义接收B,那么输入A,则不做操作
 当输入B了,则激活HOOK,进行执行制定代码
 PHP的插件HOOK,比如你添加一个插件,把这个插件信息提前告诉HOOK,然后HOOK去监视用户
 当用户调用这个插件,HOOK就感知到了
 于是就把插件功能实现出来

假如有这么一段程序:

function fun(){    fun1();    fun2();    }

首先程序执行完fun1()之后执行fun2()然后fun()结束。

但是,假如我们想对函数做一些变化。比如说,fun是一个解析函数,我们希望后期可以提供丰富的解析函数,而究竟用哪个函数解析,我们希望在配置文件中配置。这个时候就可以发挥钩子的力量了。

我们可以在function fun(){}中加入一个挂钩点H,然后再执行H这个函数之前,将钩子函数配置好,我么就可以根据需要来解析了。

例如:

$h=config_item("parser_fun") ;//从配置文件中获得相应的配置信息 function fun($data){ global $h; return $h();}

除此意外,PHP还可以根据字符串提供自己的类,然后调用类的一个方法,传递某些参数,这些就为PHP程序的编写,以及后期的维护扩展奠定了,相当坚实的基础。

类的实现方法,大致如下:

$c=get_class_name(); //获得类的名字 $m=get_method_name(); //获得方法的名字 $k=$c->$m(); //执行类的某一个方法

 

个人感觉钩子
整实现应该叫事件驱动

个人感觉钩子完整实现应该叫做事件驱动,或者事件触发器,当监听到某个事件的时候触发某个事件。

转载于:https://my.oschina.net/u/919580/blog/129638

你可能感兴趣的文章
在(CListView)列表视图中添加右键菜单的方法
查看>>
自定义服务器控件(处理不同的浏览器)
查看>>
解决IE6-IE7下li上下间距
查看>>
配置级别greenplum 可用空间计算
查看>>
聚集索引更新后会不会马上重新排序
查看>>
幸运大抽奖
查看>>
Post请求
查看>>
labview 中activex的初步使用方法
查看>>
JSP与JavaBeans
查看>>
解决Android中TextView首行缩进的问题
查看>>
oracle 查询哪些表分区
查看>>
Java排序算法(三):直接插入排序
查看>>
Python 列表 min() 方法
查看>>
C语言中 Float 数据结构的存储计算
查看>>
HSF源码阅读
查看>>
【死磕jeesite源码】Jeesite配置定时任务
查看>>
程序8
查看>>
TBluetoothLEDevice.UpdateOnReconnect
查看>>
QtTableView 简介
查看>>
腾讯、百度、阿里面试经验—(3)阿里面经
查看>>