本文整理汇总了PHP中Wire::getProperty方法的典型用法代码示例。如果您正苦于以下问题:PHP Wire::getProperty方法的具体用法?PHP Wire::getProperty怎么用?PHP Wire::getProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Wire
的用法示例。
在下文中一共展示了Wire::getProperty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _getDot
/**
* Get a property via dot syntax: field.subfield (static)
*
* Static version for internal core use. Use the non-static getDot() instead.
*
* @param string $key
* @param Wire $from The instance you want to pull the value from
* @return null|mixed Returns value if found or null if not
*
*/
public static function _getDot($key, Wire $from)
{
$key = trim($key, '.');
if (strpos($key, '.')) {
// dot present
$keys = explode('.', $key);
// convert to array
$key = array_shift($keys);
// get first item
} else {
// dot not present
$keys = array();
}
if (Wire::getFuel($key) !== null) {
return null;
}
// don't allow API vars to be retrieved this way
if ($from instanceof WireData) {
$value = $from->get($key);
} else {
if ($from instanceof WireArray) {
$value = $from->getProperty($key);
} else {
$value = $from->{$key};
}
}
if (!count($keys)) {
return $value;
}
// final value
if (is_object($value)) {
if (count($keys) > 1) {
$keys = implode('.', $keys);
// convert back to string
if ($value instanceof WireData) {
$value = $value->getDot($keys);
} else {
$value = self::_getDot($keys, $value);
}
} else {
$key = array_shift($keys);
// just one key left, like 'title'
if ($value instanceof WireData) {
$value = $value->get($key);
} else {
if ($value instanceof WireArray) {
if ($key == 'count') {
$value = count($value);
} else {
$a = array();
foreach ($value as $v) {
$a[] = $v->get($key);
}
$value = $a;
}
}
}
}
} else {
// there is a dot property remaining and nothing to send it to
$value = null;
}
return $value;
}