screenfeed / autowpdb
Create and use custom database tables in WordPress.
v0.3
2020-09-16 15:21 UTC
Requires
- php: >=7.0.0
Requires (Dev)
- php: ^7.1
- automattic/phpcs-neutron-standard: *
- brain/monkey: ^2.0
- dealerdirect/phpcodesniffer-composer-installer: *
- phpcompatibility/phpcompatibility-wp: *
- phpmetrics/phpmetrics: *
- phpunit/phpunit: ^7
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: *
- szepeviktor/phpstan-wordpress: *
- wp-coding-standards/wpcs: *
README
Allows to manage custom database tables in WordPress.
Requires php 7.0 and WordPress 4.9.6. With php 7.1+, can be used with WordPress 4.7.
What you will be able to do
- Decide if your custom table is network-wide or site-wide in a multisite environment,
- Create your table,
- Update your table structure,
- Determine if your table is ready to be used,
- Create custom CRUD methods, based on the basic ones provided,
- Provide default values,
- Cast and serialize values automatically.
How to install
With composer:
"require": { "screenfeed/autowpdb": "dev-master" },
How to use
Create 1 or 2 classes and you're ready:
- One that "defines" your custom table (name, default values, value types, schema, etc) by extending TableDefinition\AbstractTableDefinition,
- Optionally, one containing your CRUD methods by extending CRUD\Basic.
Example:
use Screenfeed\AutoWPDB\Table; use Screenfeed\AutoWPDB\TableUpgrader; add_action( 'plugins_loaded', 'my_plugin_init' ); function my_plugin_init() { // Your class defining your custom DB table. $table_def = new MyCustomTableDefinition(); // The upgrader: it will upgrade your DB table automatically if its version changes. $upgrader = new TableUpgrader( new Table( $table_def ) ); $upgrader->init(); }
Please take a look at this plugin to see an example of use.