nunomaduro / mock-final-classes
Allows mocking of final methods and classes in PHP.
                                    Fund package maintenance!
                                                                            
                                                                                                                                        nunomaduro
                                                                                    
                                                                            
                                                                                                                                        Patreon
                                                                                    
                                                                            
                                                                                                                                        www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L
                                                                                    
                                                                
Installs: 708 242
Dependents: 25
Suggesters: 0
Security: 0
Stars: 111
Watchers: 2
Forks: 5
Open Issues: 1
pkg:composer/nunomaduro/mock-final-classes
Requires
- php: ^7.1 || ^8.0
 - dg/bypass-finals: ^1.1
 
Requires (Dev)
- localheinz/phpstan-rules: ^0.10.0
 - phpstan/phpstan: ^0.11.8
 - phpstan/phpstan-strict-rules: ^0.11.1
 - phpunit/phpunit: ^7.0|^8.0|^9.3
 - thecodingmachine/phpstan-strict-rules: ^0.11.1
 
This package is auto-updated.
Last update: 2025-10-10 13:05:40 UTC
README
Created by, and is maintained by Nuno Maduro, and once installed it automatically allows mocking of final methods and classes.
💡 Installation & Usage
Requires PHP 7.1+
First, install the package using Composer:
composer require --dev nunomaduro/mock-final-classes
That's it! You can now mock final methods and classes. 🏄♂️
🤯 How it works?
- First, we run the file autoload.php using Composer Autoload.
 - Then, we determine if you are running a supported test framework
 - Then, we use the library dg/bypass-finals to remove final keywords from source code on-the-fly: https://github.com/nunomaduro/mock-final-classes/src/Runner.php#L31.
 
👏🏻 Credits
Most of the work is done by the library dg/bypass-finals, so make sure you support the maintainer here: Donate. Thank you!
Mock Final Classes is an open-sourced software licensed under the MIT license.
