irfan-dahir / php-mom
PHP Model Object Management
v1.0.0
2019-02-12 07:00 UTC
Requires
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-11-12 19:26:31 UTC
README
PHP-MOM is a stupid simple PHP Model object generator and helper.
Installation
composer require irfan-dahir/php-mom --no-dev
Example
require_once __DIR__ . '/vendor/autoload.php'; // Create the object $schema = \MOM\Schema::create(); // Create an object from JSON $schema = \MOM\Schema::fromJSON("[]"); // Adding Properties $schema->add('prop1'); // will assign value NULL $schema->add('prop1', 5); // will assign value `5` // PHP's default syntax $schema->prop1 = 5; // Bulk adding $schema->add([ 'prop2', 'prop3' => 5, 'prop4' => 3.142, 'prop5' => 'foo', 'prop_unedit' => true ]); // Works with pre-made models/objects too // Only copies public properties for now // Anonymous properties do NOT get copied (there might be a workaround) $schema->add(new class { public $foo = "bar"; public $baz = false; }); // Removing properties $schema->remove('prop2'); // Bulk removal $schema->remove([ 'prop2','prop3' ]); // PHP's default syntax unset($schema->prop2, ...); // Updating Properties; aka renaming $schema->update('prop1', 'prop1_edit'); // renames `prop1` to `prop1_edit` (copies the value as well) // Bulk update $schema->update([ 'prop5' => 'prop5_edit', 'prop_unedit' => 'prop_edited' ]); // Helper Methods $schema->toArray(); // Model to Array $schema->toJSON(); // Model to JSON
Running tests
composer require irfan-dahir/php-mom --dev
composer vendor/bin/phpunit tests
Dependencies
- PHP 7.1+
Issues
Please create an issue for any bugs/security risks/etc