本文整理汇总了PHP中Artist::build方法的典型用法代码示例。如果您正苦于以下问题:PHP Artist::build方法的具体用法?PHP Artist::build怎么用?PHP Artist::build使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Artist
的用法示例。
在下文中一共展示了Artist::build方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: extractInfos
/**
* Extract Album informations from object
* @access public
* @static
* @param \stdClass $album Object represent Album
* @return Album
*/
public static function extractInfos($album)
{
// create Album instance
$albumItem = new self();
// update informations
$albumItem->setUri((string) isset($album->href) ? $album->href : '');
$albumItem->setName((string) isset($album->name) ? $album->name : '');
// is popularity available ?
if (isset($album->popularity)) {
// update popularity
$albumItem->setPopularity((double) $album->popularity);
}
// is released date available ?
if (isset($album->released)) {
// update released dates
$albumItem->setReleased((string) $album->released);
}
// is teritories availabality available ?
if (isset($album->availability) && isset($album->availability->territories)) {
// update territories availability
$albumItem->setTerritories(explode(' ', $album->availability->territories));
}
// is artists available (from search service) ?
if (isset($album->artists) && is_array($album->artists)) {
// setup artists container
$artists = array();
// iterate artists
foreach ($album->artists as $artist) {
// create Artist and store on container
$artists[] = Artist::extractInfos($artist);
}
// set artists of album
$albumItem->setArtists($artists);
}
// is artists available (from lookup service) ?
if (isset($album->{'artist-id'}) && isset($album->artist)) {
// create and store principal artist
$albumItem->setArtist(Artist::build($album->{'artist-id'}, $album->artist));
}
// is tracks available ?
if (isset($album->tracks) && is_array($album->tracks)) {
// setup tracks container
$tracks = array();
// iterate external ids
foreach ($album->tracks as $track) {
// create Track and store on container
$tracks[] = Track::extractInfos($track);
}
// set albums tracks
$albumItem->setTracks($tracks);
}
// is external ids available ?
if (isset($album->{'external-ids'}) && is_array($album->{'external-ids'})) {
// setup external ids container
$externalIds = array();
// iterate external ids
foreach ($album->{'external-ids'} as $externalId) {
// create ExternalId and store on container
$externalIds[] = ExternalId::extractInfos($externalId);
}
// set external ids of album
$albumItem->setExternalIds($externalIds);
}
// return album instance
return $albumItem;
}