antichris / interceptor

Intercept php includes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Interceptor

Build Status Code Coverage Scrutinizer Code Quality

Intercept php includes

composer require icewind/interceptor

Usage

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): Add a folder to the white list
  • addBlackList(string $path): Add a folder to the black list
  • Only white listed files will be intercepted
  • A file is white listed if it has a parent folder that is white listed without there being a more direct parent folder that is black listed
  • addHook(callable $hook): Register a hook to the intercepter
  • the registered callback will be called for every include which is intercepted
  • The code being included will be passed as the first argument
  • The path being included will be passed as second argument
  • If the hook returns a string the loaded code will be replaced by the return value
  • setUp() start intercepting includes
  • tearDown() stop intercepting includes

About

Intercept php includes


Languages

Language:PHP 100.0%