icewind / interceptor
拦截 php 包含文件
v0.3.0
2015-10-24 12:44 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: 4.8.*
This package is auto-updated.
Last update: 2024-09-18 17:53:05 UTC
README
拦截 php 包含文件
composer require icewind/interceptor
使用方法
use Icewind\Interceptor\Interceptor; $interceptor = new Interceptor(); $interceptor->addWhiteList(__DIR__ . '/src'); $interceptor->addHook(function($code) { return str_replace('foo', 'bar', $code); }); $interceptor->setUp(); require 'src/foo.php'
API
addWhiteList(string $path)
: 向白名单添加文件夹addBlackList(string $path)
: 向黑名单添加文件夹- 只有白名单中的文件会被拦截
- 如果一个文件位于白名单文件夹中,且其父文件夹也是白名单且没有更直接的父文件夹在黑名单中,则该文件会被加入白名单
addHook(callable $hook)
: 向拦截器注册钩子- 注册的回调将在拦截的每个包含文件时被调用
- 被包含的代码作为第一个参数传递
- 被包含的路径作为第二个参数传递
- 如果钩子返回一个字符串,则加载的代码将被返回值替换
setUp()
开始拦截包含文件tearDown()
停止拦截包含文件