syntatis / codex
Codebase for WordPress extensions
Installs: 1 073
Dependents: 3
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 0
Open Issues: 0
Requires
- php: >=7.4
- adbario/php-dot-notation: ^3.3
- pimple/pimple: ^3.5
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- phpcompatibility/php-compatibility: ^9.3
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^1.12
- phpstan/phpstan-phpunit: ^1.4
- phpstan/phpstan-strict-rules: ^1.6
- phpunit/phpunit: ^9.6
- roots/wordpress: ^6.7
- symfony/var-dumper: ^5.4
- syntatis/coding-standard: ^1.5
- szepeviktor/phpstan-wordpress: ^1.3
- wp-phpunit/wp-phpunit: ^6.7
- yoast/phpunit-polyfills: ^3.0
This package is auto-updated.
Last update: 2024-11-17 15:54:42 UTC
README
Note
The project is now in beta and ready for testing. We'd love to hear your input, so feel free to report any issues or suggest enhancements.
A codebase designed to build WordPress extensions with modern PHP practices.
Why?
WordPress is a powerful platform, but while PHP has evolved over the years, WordPress development has largely stayed the same. Modern PHP practices like Autoloading with Composer and Dependency Injection aren't commonly used when building WordPress extensions. It has caused some gaps between WordPress and the rest of the PHP ecosystem.
This project aims to close the gap by providing functions, classes, and structure as the foundation to build WordPress extensions with modern PHP techniques.
Projects
The following is a list of projects that are built on top of Codex as the foundation.
- ๐งช ๐ howdy: A WordPress plugin boilerplate with modern development tools, easier configuration, and an improved folder structure.
- ๐งช โจ howdy-open-ai: A WordPress plugin boilerplate with OpenAI PHP client add-in.
Providers
Providers are classes that provide additional services in the service container.
- ๐งช ๐
codex-settings-provider
: Service provider for WordPress Settings API
Inspiration
This project is inspired by the following awesome projects in the PHP ecosystem: