SiteTrait uses trait:short, trait:short, trait:short, trait:short
Groups the ingestion behaviors shared by all the site flavored places : additional properties, geo coordinates, postal address and contact points.
The __set hook routes any unknown property expression to the matching
handler, so a flat dataset row can hydrate a site without manual mapping.
Tags
Table of Contents
Methods
- __set() : void
- normalizePostalAddress() : mixed
- Normalize a PostalAddress definition and search if the streetAddress expression contains a ';' separator to extract properties from the specific field.
- setAdditionalProperties() : bool
- Set a new optional additional properties of the place.
- setGeoCoordinatesProperties() : bool
- Set the GeoCoordinates properties.
- setGeoCoordinatesProperty() : bool
- Internal method to inject custom properties in the PostalAddress property of the place.
- setPostalAddressProperties() : bool
- Set the PostalAddress properties.
- setPostalAddressProperty() : bool
- Internal method to inject custom properties in the PostalAddress property of the place.
- 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).
- setAdditionalProperty() : void
- Internal method to inject custom properties in the PostalAddress property of the place.
- setContactPointProperty() : bool
- Internal method to inject custom properties in the PostalAddress property of the place.
Methods
__set()
public
__set(string $property, mixed $value) : void
Parameters
- $property : string
-
Property name.
- $value : mixed
-
Value of the property.
normalizePostalAddress()
Normalize a PostalAddress definition and search if the streetAddress expression contains a ';' separator to extract properties from the specific field.
public
static normalizePostalAddress(mixed $definition[, string $separator = ';' ]) : mixed
Parameters
- $definition : mixed
-
The definition to normalize.
- $separator : string = ';'
-
The separator to explode the postal address expression (default ';'). An empty separator splits nothing and leaves the definition untouched —
explode()would raise aValueErroron it.
setAdditionalProperties()
Set a new optional additional properties of the place.
public
setAdditionalProperties(string $property, mixed $value) : bool
Parameters
- $property : string
-
Property name.
- $value : mixed
-
Value of the property.
Return values
bool —True if the property was handled, false otherwise
setGeoCoordinatesProperties()
Set the GeoCoordinates properties.
public
setGeoCoordinatesProperties(string $property, mixed $value) : bool
Parameters
- $property : string
-
The property to inject.
- $value : mixed
-
The value of the property.
Return values
boolsetGeoCoordinatesProperty()
Internal method to inject custom properties in the PostalAddress property of the place.
public
setGeoCoordinatesProperty(string $name, mixed $value) : bool
Parameters
- $name : string
-
The name of the property to transform.
- $value : mixed
-
The value of the property.
Return values
boolsetPostalAddressProperties()
Set the PostalAddress properties.
public
setPostalAddressProperties(string $property, mixed $value) : bool
Parameters
- $property : string
- $value : mixed
Return values
boolsetPostalAddressProperty()
Internal method to inject custom properties in the PostalAddress property of the place.
public
setPostalAddressProperty(string $name, mixed $value) : bool
Parameters
- $name : string
- $value : mixed
Return values
boolcontactPointList()
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.
setAdditionalProperty()
Internal method to inject custom properties in the PostalAddress property of the place.
protected
setAdditionalProperty(array<string|int, mixed> $init) : void
Parameters
- $init : array<string|int, mixed>
Tags
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.