avto-dev / bypass-finals
Removes final keyword from source code on-the-fly and allows mocking of final methods and classes
Requires
- php: >=5.6
Requires (Dev)
- nette/tester: ^2.0.2
README
This package is abandoned and no longer maintained
We suggests using the original dg/bypass-finals package instead
since v1.2.0 it includes all changes from this fork
Bypass Finals
Introduction
Removes final keywords from source code on-the-fly and allows mocking of final methods and classes. It can be used together with any test tool such as PHPUnit, Mockery or Nette Tester.
Installation
The recommended way to install is through Composer:
composer require --dev avto-dev/bypass-finals "^1.2"
Installed
composer
is required (how to install composer).
You need to fix the major version of package.
It requires PHP version 5.6 and supports PHP up to 7.3.
Usage
Simply call this:
DG\BypassFinals::enable();
You need to enable it before the classes you want to remove the final are loaded. So call it as soon as possible, preferably right after vendor/autoload.php
in loaded.
You can choose to only bypass finals in specific files:
DG\BypassFinals::setWhitelist([ 'relative/path/to/file.php' ]); DG\BypassFinals::enable();
This gives you finer control and can solve issues with certain frameworks and libraries.
If you like it, please make a donation now. Thank you!
Changes log
Changes log can be found here.
Support
If you will find any package errors, please, make an issue in current repository.