PHP stub declarations for the Freemius WordPress SDK to enhance IDE completion and static analysis capabilities. Generated using php-stubs/generator directly from the source code.
- Complete function, class, and interface declarations
- Constant definitions for proper static analysis
- IDE autocompletion support
- PHPStan integration
- Regular updates with latest Freemius SDK versions
- PHP >= 7.1
- Composer for dependency management
# Install as a development dependency
composer require --dev mralaminahamed/freemius-stubs
# Or specify a version
composer require --dev mralaminahamed/freemius-stubs:^2.0
Download the stub files directly:
Add the stubs to your phpstan.neon
configuration:
parameters:
bootstrapFiles:
- vendor/mralaminahamed/freemius-stubs/freemius-constants-stubs.php
- vendor/mralaminahamed/freemius-stubs/freemius-stubs.php
Most modern IDEs will automatically detect the stubs when installed via Composer. For manual installation, add the stub files to your IDE's include path.
- Go to
Settings
→PHP
→Include Path
- Add the directory containing the stub files
Add to your settings.json
:
{
"php.stubs": [
"vendor/mralaminahamed/freemius-stubs/freemius-stubs.php",
"vendor/mralaminahamed/freemius-stubs/freemius-constants-stubs.php"
]
}
<?php
// Your code will now have full IDE support
$fs = Freemius::instance();
// Constants are properly defined
if (WP_FS__SDK_VERSION) {
// Your implementation
}
// Interfaces and classes are available
class MyIntegration implements Freemius_Api_Interface {
// Your implementation
}
# Clone the repository
git clone https://github.com/mralaminahamed/phpstan-freemius-stubs.git
cd phpstan-freemius-stubs
# Install dependencies
composer install
# Generate stubs
composer generate
# Release new version
composer release
# Run all checks
composer check
# Individual checks
composer cs # Coding standards
composer analyze # Static analysis
composer test # Unit tests
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Freemius for the WordPress SDK
- php-stubs/generator for the stub generation tools
- All contributors to this project
For bug reports and feature requests, please use the GitHub Issues.
For questions and discussions, please use the GitHub Discussions.