justintadlock / hybrid-core
Hybrid Core: A framework for developing modern WordPress plugins and themes.
Installs: 17 351
Dependents: 6
Suggesters: 0
Security: 0
Stars: 689
Watchers: 64
Forks: 143
Open Issues: 13
Requires
- php: >=8.0
- psr/container: 1.0.0
- symfony/console: ^5.0 || ^6.0 || ^7.0
- symfony/polyfill-php80: ^1.25.0
- themehybrid/hybrid-contracts: ^2.0
- themehybrid/hybrid-events: ^1.0
- themehybrid/hybrid-filesystem: ^1.0
- themehybrid/hybrid-tools: ^2.0
Provides
This package is auto-updated.
Last update: 2024-10-12 14:54:04 UTC
README
Hybrid Core is a framework for developing WordPress plugins and themes.
The core package is the application layer that primarily consists of a service container. It can be used alone or alongside any of the available Hybrid packages.
The framework simplifies many of the complexities of WordPress development and helps you write more modern PHP code. Its goal is to provide elegant functions, classes, and interfaces for writing code without the need to rebuild everything from scratch with each project.
Requirements
- WordPress 6.1+
- PHP 8.0+
- Composer 2.0+
Donations
Hybrid Core is free. However, donations to the project are also welcome.
Documentation
The documentation is handled via Hybrid Core's wiki. This is community-contributed documentation that I hope you will add to if you use the framework.
Installation
Use the following command from your preferred command line utility to install the package.
composer require themehybrid/hybrid-core
If bundling this directly in your plugin, add the following code.
For plugins:
if ( file_exists( 'vendor/autoload.php' ) ) { require_once 'vendor/autoload.php'; }
For themes:
if ( file_exists( get_parent_theme_file_path( 'vendor/autoload.php' ) ) ) { require_once( get_parent_theme_file_path( 'vendor/autoload.php' ) ); }
Bootstrapping Hybrid Core
Hybrid Core isn't launched until an instance of its Hybrid\Core\Application
class is created and its boot()
method has been called.
Because the Application
class can be called multiple times via both plugins and themes, developers need to check the Hybrid\booted()
function before attempting to create a new app. If one exists, they should use the existing instance via the Hybrid\app()
helper function.
// Create a new application. $slug = \Hybrid\booted() ? \Hybrid\app() : new \Hybrid\Core\Application(); // Add service providers. $slug->provider( \YourProject\Provider::class ); // Bootstrap the application. $slug->boot();
Resources
Copyright and License
This project is licensed under the GNU GPL, version 2 or later.
Hybrid Core uses code from Laravel Framework. The Laravel framework is open-sourced software licensed under the MIT license. License: MIT - https://opensource.org/licenses/MIT
2008 – 2024 © Theme Hybrid.