Download the PHP package socialengine/unum without Composer
On this page you can find all versions of the php package socialengine/unum. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download socialengine/unum
More information about socialengine/unum
Files in socialengine/unum
Informations about the package unum
Unum: A simple entity implementation
Installation
Require this package with composer:
Usage
Create a class with protected attributes that extends SocialEngine\Unum\Entity
:
From there, new entities can be new-ed with an array of attributes:
Accessing Attributes
Attributes can be accessed with either array or object syntax:
Accessing an attribute which has not been "loaded" with data will throw an InvalidArgumentException
.
By defining a method of the form get{AttributeName}
, the entity will use that method to return a property's value.
Note: snake_case attributes will be converted to PascalCase for methods, so test_prop
becomes getTestProp
Assigning Attributes
Attributes can be assigned with either array or object syntax:
Assigning to an attribute which does not exist will throw an InvalidArgumentException
.
By defining a method of the form set{AttributeName}
, the entity will use that method to set a property's value.
Note: snake_case attributes will be converted to PascalCase for methods, so test_prop
becomes setTestProp
Dirty Attributes
Assigning an entity's attribute a value which differs than its current value will mark that attribute as "dirty". To
retrieve an entity's dirty attributes, pass true
as the $dirty
flag to toArray
Entities can be "cleaned" with the clean
method, which will remove the "dirty" mark from all attributes.
Meta Attributes
You can set and get "meta" attributes - ones that do not have attributes directly attached to them.
This is good if you have an entity that stores a category_id
but does not store the category name
The entity above will let you access Meta attributes via the normal syntax. Use build in setProp
and getProp
so
that you can leverage some of the validation and attribute checking code Unum offers you.
Code Style
Please follow the following guides and code standards:
PHP
Git
Addendum and Clarifications
namespace
should be on the same line as opening php tag:<?php namespace SocialEngine\Amazing
- Property names should be camelCase
- Test names should use underscores, not camelCase. e.g.:
test_cats_love_catnip
License
MIT.