mralaminahamed/freemius-stubs

Freemius WordPress SDK function and class declaration stubs for static analysis.


README

Latest Version Downloads License PHP Version Tweet

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.

🚀 Features

  • Complete function, class, and interface declarations
  • Constant definitions for proper static analysis
  • IDE autocompletion support
  • PHPStan integration
  • Regular updates with latest Freemius SDK versions

📋 Requirements

  • PHP >= 7.4
  • Composer for dependency management

📦 Installation

Via Composer (Recommended)

# Install as a development dependency
composer require --dev mralaminahamed/freemius-stubs

# Or specify a version
composer require --dev mralaminahamed/freemius-stubs:^2.0

Manual Installation

Download the stub files directly:

🔧 Basic Configuration

To use these stubs with PHPStan or your IDE, see our Usage Guide for detailed instructions.

🔍 Quick Usage Example

<?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
}

For advanced usage examples, see the Usage Guide.

📁 Package Structure

phpstan-freemius-stubs/
├── bin/                               # Scripts for generating and releasing stubs
├── configs/                           # Configuration files for stub generation
├── docs/                              # Detailed documentation
│   ├── usage.md                       # Usage guide
│   └── contributing.md                # Contribution guidelines
├── freemius-constants-stubs.stub      # Constants stub file
├── freemius-stubs.stub                # Main stubs file with classes and functions
├── freemius_versions.txt              # Tracks supported Freemius SDK versions
├── lib/                               # Helper libraries
├── phpstan.neon                       # PHPStan configuration
├── source/                            # Source for generating stubs
└── tests/                             # Test files
    ├── bootstrap.php                  # Test bootstrap
    ├── ConstantsTest.php              # Constants tests
    └── FreemiusTest.php               # Freemius tests

🛠 Development

For information on building stubs, running tests, and contributing to the project, please see our Contributing Guide.

📚 Documentation

For more detailed information, check out our documentation:

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

💬 Support

For bug reports and feature requests, please use the GitHub Issues.

For questions and discussions, please use the GitHub Discussions.