delboy1978uk / person
A persistable person entity, repository, and service.
Installs: 2 048
Dependents: 1
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 1
Open Issues: 1
Requires
- php: ^8.2
- delboy1978uk/bone-doctrine: ^2.0
- delboy1978uk/country: ^2.0
Requires (Dev)
- dev-master
- v6.6.1
- v6.6.0
- v6.5.5
- v6.5.4
- v6.5.3
- v6.5.2
- v6.5.1
- v6.5.0
- v6.4.2
- v6.4.1
- v6.4.0
- v6.3.5
- v6.3.4
- v6.3.3
- v6.3.2
- v6.3.1
- v6.3.0
- v6.2.0
- v6.1.1
- v6.1.0
- v6.0.6
- v6.0.5
- v6.0.4
- v6.0.3
- v6.0.2
- v6.0.1
- v6.0.0
- v5.0.0
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.1.0
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.0.0
- dev-7-use-attributes-instead-of-anotations
- dev-refactor/php81
- dev-dev-master
This package is auto-updated.
Last update: 2024-11-06 18:13:34 UTC
README
A persistable Person Entity, Collection, Repository, and Service, written in PHP.
##Installation
Install via composer into your project:
composer require delboy1978uk/person
Setup and Usage
You can use delboy1978uk/common, which contains Doctrine2 ORM for database persistance, and Pimple as a dependency injection container. You can register the Person DIC items using the Del\Person\PersonPackage object. See delboy1978uk/common for details.
use Del\Commohn\ContainerService; use Del\Person\PersonPackage; $package = new PersonPackage(); ContainerService::getInstance()->registerToContainer($config);
The Person Entity
The $date
variable is a DateTime object.
$country
is a a Del\Entity\Country object.
use Del\Person\Entity\Person; $del = new Person(); $del->setFirstname('Derek') ->setMiddlename('Stephen') ->setLastname('McLean) ->setAka('Del Boy') ->setDob($date) ->setBirthplace('Glasgow, Scotland') ->setCountry($country);
The Person Collection
Or people, as we might like to call it.
Del\Person\Collection\PersonCollection extends ArrayIterator and contains the following (additional) methods:
$collection->update($person); // Updates the entity in the collection with fresh details $collection->append($person); // Adds an entity to the collection $collection->current(); // Retrieves the currently selected Person object $collection->findKey($person); // Retrieves the array offset key for any Person in the collection $collection->findById($id); // Retrieves a Person from the collection by their Id
The Person Service
Del\Person\Service\PersonService contains a few methods for dealing with Person objects.
$svc->createFromArray($data); // Person object factory method accepting an array $svc->toArray($person); // Pass a Person, receive an array $svc->savePerson($person); // Saves a Person (adds or updates) to the database $svc->getRepository(); // Gets the Person Repository $svc->findByCriteria($criteria); // Finds results based upon your Criteria (see below) $svc->findOneByCriteria($criteria); // As above but for a single result
The Person Criteria
Set the criteria for your searches using this object.
use Del\Person\Criteria\PersonCriteria; $criteria = new PersonCriteria(); $criteria->setFirstname('Derek'); $criteria->setLastname('McLean'); $results = $svc->findByCriteria($criteria); // array of Person objects