A comprehensive bundle of PHPNomad packages providing modular PHP components for WordPress including core utilities, database abstraction, REST API, templating, events, and more.
This plugin serves as a centralized bundle that loads all PHPNomad framework packages into WordPress. It provides a complete set of modern PHP development tools and abstractions specifically designed for WordPress plugin and theme development.
- PHP 8.2 or higher
- WordPress 6.5 or higher (for Plugin Dependencies feature)
- phpnomad/core - Core interfaces and base functionality for the PHPNomad framework
- phpnomad/framework - Main framework orchestration and bootstrapping
- phpnomad/utils - Common utility functions and helpers (includes
ArrandStrhelpers)
- phpnomad/config - Configuration management system
- phpnomad/array-json-config - Array and JSON-based configuration providers
- phpnomad/json-config-integration - Integration layer for JSON configuration
- phpnomad/loader - Class and file loading utilities
- phpnomad/di - Dependency injection container
- phpnomad/singleton - Singleton pattern implementation
- phpnomad/decorator - Decorator pattern utilities
- phpnomad/facade - Facade pattern implementation
- phpnomad/registry - Registry pattern for managing objects
- phpnomad/db - Database abstraction layer
- phpnomad/datastore - Generic data storage interfaces
- phpnomad/mysql-integration - MySQL-specific database integration
- phpnomad/http - HTTP request/response handling
- phpnomad/rest - REST API framework
- phpnomad/fastroute-rest-integration - FastRoute integration for REST routing
- phpnomad/fetch - HTTP client abstraction
- phpnomad/guzzle-fetch - Guzzle HTTP client integration
- phpnomad/auth - Authentication and authorization framework
- phpnomad/firebase-jwt-integration - JWT token handling via Firebase JWT
- phpnomad/privacy - Privacy and data protection utilities
- phpnomad/template - Template rendering system
- phpnomad/twig-integration - Twig templating engine integration
- phpnomad/markdown - Markdown processing
- phpnomad/league-markdown-integration - League CommonMark integration
- phpnomad/event - Event system and dispatcher
- phpnomad/symfony-event-dispatcher-integration - Symfony EventDispatcher integration
- phpnomad/tasks - Background task scheduling and execution
- phpnomad/cache - Caching abstraction layer
- phpnomad/symfony-cache-integration - Symfony Cache component integration
- phpnomad/console - Console command framework
- phpnomad/symfony-console-integration - Symfony Console integration
- phpnomad/email - Email sending abstraction
- phpnomad/php-mail-integration - PHP mail function integration
- phpnomad/translate - Translation and localization system
- phpnomad/asset - CSS/JS asset management and enqueueing
- phpnomad/mutator - Data mutation and transformation utilities
- phpnomad/logger - Logging interfaces and utilities
- phpnomad/update - Plugin/theme update management
- phpnomad/enum-polyfill - PHP enum polyfill for older versions
- phpnomad/wordpress-integration - WordPress-specific integrations and adapters
If you're developing a plugin that depends on PHPNomad, you can use WordPress's built-in Plugin Dependencies feature (introduced in WordPress 6.5) to ensure PHPNomad is installed and activated before your plugin.
Add the Requires Plugins header to your plugin's main PHP file:
/**
* Plugin Name: My Plugin
* Requires Plugins: phpnomad
*/To ensure PHPNomad is fully loaded before your plugin initializes, hook into the phpnomad_ready action:
add_action('phpnomad_ready', function() {
// PHPNomad is now loaded and ready to use
// Initialize your plugin here
});This action fires immediately after PHPNomad's Composer autoloader is loaded, ensuring all PHPNomad classes and interfaces are available.
- WordPress will automatically prevent your plugin from being activated if PHPNomad is not installed
- Users will see a clear indication that PHPNomad must be installed first
- PHPNomad cannot be deactivated or deleted while your plugin is active
- If PHPNomad is removed via FTP or deployment, WordPress will display a notice about missing dependencies
- The
Requires Pluginsheader uses the plugin slug (phpnomad), not the file path format - This feature does not enforce version requirements or loading order
- Continue to use
function_exists(),class_exists(),interface_exists(), and version checks where your plugin relies on specific functionality - For more information, see Plugin Dependencies in WordPress 6.5
GPLv3 or later - http://www.gnu.org/licenses/gpl-3.0.txt