public static function ClosureExpressionVisitor::getObjectFieldValue in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php \Doctrine\Common\Collections\Expr\ClosureExpressionVisitor::getObjectFieldValue()
Accesses the field of a given object. This field has to be public directly or indirectly (through an accessor get*, is*, or a magic method, __get, __call).
Parameters
object $object:
string $field:
Return value
mixed
2 calls to ClosureExpressionVisitor::getObjectFieldValue()
- ClosureExpressionVisitor::sortByField in vendor/
doctrine/ collections/ lib/ Doctrine/ Common/ Collections/ Expr/ ClosureExpressionVisitor.php - Helper for sorting arrays of objects based on multiple fields + orientations.
- ClosureExpressionVisitor::walkComparison in vendor/
doctrine/ collections/ lib/ Doctrine/ Common/ Collections/ Expr/ ClosureExpressionVisitor.php - Converts a comparison expression into the target query language output.
File
- vendor/
doctrine/ collections/ lib/ Doctrine/ Common/ Collections/ Expr/ ClosureExpressionVisitor.php, line 43
Class
- ClosureExpressionVisitor
- Walks an expression graph and turns it into a PHP closure.
Namespace
Doctrine\Common\Collections\ExprCode
public static function getObjectFieldValue($object, $field) {
if (is_array($object)) {
return $object[$field];
}
$accessors = array(
'get',
'is',
);
foreach ($accessors as $accessor) {
$accessor .= $field;
if (!method_exists($object, $accessor)) {
continue;
}
return $object
->{$accessor}();
}
// __call should be triggered for get.
$accessor = $accessors[0] . $field;
if (method_exists($object, '__call')) {
return $object
->{$accessor}();
}
if ($object instanceof \ArrayAccess) {
return $object[$field];
}
return $object->{$field};
}