Siteadmin 3 using Doctrine 2 as the ORM of choice. The doctrineUtils
helper encapsulates a collection of functions that preform common operations with a doctrine entity. These operations range from converting an entity to an array to retrieving data store information about an entity.
doctrineUtils::getEntityArray($entity,$includeAssociations,$useProxyIds,$associationConfiguration);
Parameter | Type | Required | Description |
| Object | yes | The doctrine entity to be converted. |
| boolean | no | Default: |
| boolean | no | Default: |
| array | no | Default: |
The $associationConfiguration
parameter in getEntityArray()
is a map of entities which are allowed to be included in the object to array conversion process. This allows you to exclude unwanted data sets from the parsing process.
Example
<?phpclass User {/** @var int */protected $id;/** @var string */protected $name;/** @var Post[] */protected $posts;/** @var User[] */protected $followers;}function parseUserAsArray(User $user) {$assocConf = array('followers' => 'object');return doctrineUtils::getEntityArray($user, true, false, $assocConf);}
The code snippet above will parse the user's id
, name
, and followers
fields into an array. The posts
property will be ignored, because it is not included in the association configuration.
Notice the association configuration is a key/value pair, where the key is the name of the associated entity, and the value is its type. The value will almost always be
object
.
Result
You may assume the user's ID is 12
.
{"12": {"id": 12,"name": "John Doe","followers": [<list of followers>]}}
doctrineUtils::getEntityCollectionArray($collection,$includeAssociation,$associationConfiguration);
Parameter | Type | Required | Description |
| Object | yes | The doctrine entity to be converted. |
| boolean | no | Default: |
| array | no | Default: |
Given a property map with the format [propertyName => value], calls the setters on the given entity with the passed value data.
doctrineUtils::setEntityData($properties, $entity, $useBlankFields);
Paremeter | Type | Required | Description |
| array | yes | A set of key/value pairs, representing an entity's properties and their corresponding values. |
| Object | yes | A doctrine entity. |
| boolean | no | Default: |
<?phpclass User {protected $firstName;protected $nickname;private $lastName;public $age;}$user = new User();$user->setFirstName('John')->setLastName('Doe')->setNickname('Bobby')->setAge(30);$properties = array('nickname' => null,'age' => 25);// Age is changed from 30 to 25.// Nickname is skipped since the new value is null|0|false.doctrineUtils::setEntityData($properties, $user);// Age is changed from 30 to 25.// Nickname is changed from 'Bobby' to null.doctrineUtils::setEntityData($properties, $user, true);// Create a new user object from property map.$user2 = doctrineUtils::setEntityData($properties, new User(), true);
Retrieves information about an entity's methods and properties.
doctrineUtils:getEntityInfo($entity)