SetContactPointTrait
Injects the contact points of an entity from flat property expressions.
The consumer class must declare a contactPoint property. Each flat key, e.g.
default_telephone, mobile or home_email, is routed to the ContactPoint
of the matching ContactType, created or updated on demand.
Tags
Table of Contents
Methods
- contactPointList() : array<string|int, mixed>
- The contact points as a list, whatever shape the property holds.
- findContactPointByType() : ContactPoint|null
- Find a specific ContactPoint reference by type.
- isValidPhoneNumber() : bool
- Validate a phone number expression (basic check, any country).
- setContactPointProperty() : bool
- Internal method to inject custom properties in the PostalAddress property of the place.
Methods
contactPointList()
The contact points as a list, whatever shape the property holds.
protected
contactPointList() : array<string|int, mixed>
contactPoint is declared as null|ContactPoint|array|string wherever
this trait is composed, but the code around it only ever makes sense on a
list. A lone ContactPoint and an unresolved string reference are
therefore wrapped rather than discarded — nothing is lost, and the caller
can iterate and append without checking first.
Return values
array<string|int, mixed> —The contact points, always a list.
findContactPointByType()
Find a specific ContactPoint reference by type.
protected
findContactPointByType(string|null $type) : ContactPoint|null
Entries that are not hydrated ContactPoint instances — the raw arrays a base read hands back, or an unresolved reference — are skipped rather than dereferenced, so only a real instance is ever returned.
Parameters
- $type : string|null
-
The type of the resource to find.
Return values
ContactPoint|nullisValidPhoneNumber()
Validate a phone number expression (basic check, any country).
protected
isValidPhoneNumber(string $phone[, string|null $defaultRegion = 'FR' ]) : bool
Parameters
- $phone : string
-
The phone number to validate.
- $defaultRegion : string|null = 'FR'
-
region that we are expecting the number to be from. This is only used if the number being parsed is not written in international format. The country_code for the number in this case would be stored as that of the default region supplied. If the number is guaranteed to start with a '+' followed by the country calling code, then "ZZ" or null can be supplied.
Return values
bool —True if valid, false otherwise.
setContactPointProperty()
Internal method to inject custom properties in the PostalAddress property of the place.
protected
setContactPointProperty(string $name, mixed $value) : bool
Parameters
- $name : string
-
The name of the property to transform.
- $value : mixed
-
The value of the property.