本文整理匯總了PHP中Symfony\Component\PropertyAccess\PropertyAccess::setValue方法的典型用法代碼示例。如果您正苦於以下問題:PHP PropertyAccess::setValue方法的具體用法?PHP PropertyAccess::setValue怎麽用?PHP PropertyAccess::setValue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Symfony\Component\PropertyAccess\PropertyAccess
的用法示例。
在下文中一共展示了PropertyAccess::setValue方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: create
/**
* {@inheritDoc}
*/
public function create(array $definition = null)
{
$identity = new $this->classFQN();
if (!empty($definition)) {
$class = $this->getIdentityReflection($identity);
$methods = $class->getMethods(\ReflectionMethod::IS_PUBLIC);
$properties = $class->getproperties();
foreach ($methods as $method) {
$annotations = $this->reader->getMethodAnnotations($method);
foreach ($annotations as $annotation) {
switch (true) {
case $annotation instanceof Identity:
if (!empty($annotation->name) && $annotation->type == 'setter' && isset($definition[$annotation->name])) {
$method->invoke($identity, $definition[$annotation->name]);
}
break;
}
}
}
foreach ($properties as $property) {
$annotations = $this->reader->getPropertyAnnotations($property);
foreach ($annotations as $annotation) {
switch (true) {
case $annotation instanceof Identity:
if (empty($annotation->name)) {
$annotation->name = $property->getName();
}
if (isset($definition[$annotation->name])) {
$this->accessor->setValue($identity, $property->getName(), $definition[$annotation->name]);
}
break;
}
}
}
}
return $identity;
}