我想知道,最好的办法是在一个PHP应用程序处理挂钩什么
-这样我就可以"插件"功能,插入自定义或不修改代码的主体.
我知道Wordpress的功能是这样的.做以下事情真的没问题:
if (file_exists('file_before'){ include('file_before'); }
print 'hello';
if (file_exists('file_after'){ include('file_after'); }
Run Code Online (Sandbox Code Playgroud)
Rob*_*itt 17
我通常在挂钩时做的事情是创建一个HookLoader类,它将存储两种类型的挂钩,PRE和POST.因为PHP是单线程解释器,所以没有DURING这样的东西.
举个例子:
$Hooks = new HookLoader();
$Hook->Run("PRE","database_connect");
$Database->Connect();
$Hook->Run("POST","database_connect");
Run Code Online (Sandbox Code Playgroud)
钩子目录中的每个钩子应该是这样的名称:
name_pre_database_connect.hook.php
Run Code Online (Sandbox Code Playgroud)
钩子文件的格式如下:
{name}_{type}_{event}.hook.php
Run Code Online (Sandbox Code Playgroud)
这将允许您创建无限量的钩子.
最好我会使钩子类抽象和静态,你可以在实际对象中运行钩子调用,因此只要他们有新的库就可以集成 Hook::run("type","event");
| 归档时间: |
|
| 查看次数: |
13949 次 |
| 最近记录: |