alexstandiford / underpin
Underpin framework
Installs: 120
Dependents: 0
Suggesters: 0
Security: 0
Stars: 82
Watchers: 7
Forks: 5
Open Issues: 14
Type:package
Requires
- php: ^8.1
- composer/installers: ^2.1
Requires (Dev)
- mockery/mockery: ^1.5
- phpunit/phpunit: ^9.5
- dev-master
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.0
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.0
- 2.0.0
- 1.3.1
- 1.3.0
- 1.2.0
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.1
- 1.0.0
- dev-bugfix/to-string-for-param-collections
- dev-feature/camel-case
- dev-feature/cache
- dev-release/2.0.0
- dev-release/1.3.1
- dev-release/1.3.0
- dev-issue/31
- dev-issue/28
- dev-issue/1
- dev-release/1.2.0
- dev-issue/24
- dev-release/1.1.2
- dev-release/1.1.1
- dev-release/1.1.0
- dev-release/1.0.1
- dev-issue/10
This package is auto-updated.
Last update: 2023-03-31 04:27:08 UTC
README
The goal of Underpin is to provide a pattern that makes building PHP projects easier. It provides support for useful utilities that plugins need as they mature, such as a solid error logging utility, a batch processor for upgrade routines, and a decision tree class that makes extending and debugging multi-layered decisions way easier than traditional WordPress hooks.
Installation
Underpin can be installed in any place you can write code.
Via Composer
composer require underpin/underpin
Note This will add Underpin as a mu-plugin
, but due to how WordPress handles must-use plugins, this does not
actually add the plugin to your site. You must also manually require the file in a mu-plugin PHP file:
<?php if ( ! defined( 'ABSPATH' ) ) { exit; } // Load Underpin, and its dependencies. $autoload = plugin_dir_path( __FILE__ ) . 'vendor/autoload.php'; require_once( $autoload );
Manually
If you're developing Underpin directly, or simply don't want to use Composer, follow these steps to use:
- Clone this repository, preferably in the
mu-plugins
directory. - Require
Underpin.php
, preferably as amu-plugin
.
I recently released the 3.0 version of this project, and unfortunately, with how I approached this build I did not document things as well as I should have. I KNOW shame on me. I'll get to it someday...
So many projects, so little time.