isArray() публичный Метод

If this attribute contains elements then it's an array only if its parent, the Struct, is not itself an array, if the parent is an array, then it is certainly not an array too
public isArray ( ) : boolean
Результат boolean
Пример #1
0
 /**
  * @param MethodContainer $methods
  * @param StructAttributeModel $attribute
  * @return Struct
  */
 protected function addStructMethodAddTo(MethodContainer $methods, StructAttributeModel $attribute)
 {
     if ($attribute->isArray()) {
         $method = new PhpMethod(sprintf('addTo%s', ucfirst($attribute->getCleanName())), array(new PhpFunctionParameter('item', PhpFunctionParameter::NO_VALUE, $this->getStructMethodParameterType($attribute, false))));
         $this->addStructMethodAddToBody($method, $attribute);
         $methods->add($method);
     }
     return $this;
 }
 /**
  * @param StructAttributeModel $attribute
  * @param string $returnArrayType
  * @return bool
  */
 protected function useBrackets(StructAttributeModel $attribute, $returnArrayType = true)
 {
     return $returnArrayType && $attribute->isArray();
 }
Пример #3
0
 /**
  * @param PhpMethod $method
  * @param StructAttributeModel $attribute
  * @return Struct
  */
 protected function addStructMethodSetBodyForArray(PhpMethod $method, StructAttributeModel $attribute)
 {
     if ($attribute->isArray()) {
         $model = $this->getRestrictionFromStructAttribute($attribute);
         $parameterName = lcfirst($attribute->getCleanName());
         if ($model instanceof StructModel) {
             $method->addChild('$invalidValues = array();')->addChild(sprintf('foreach($%s as $item) {', $parameterName))->addChild($method->getIndentedString(sprintf('if (!%s::%s($item)) {', $model->getPackagedName(true), StructEnum::METHOD_VALUE_IS_VALID), 1))->addChild($method->getIndentedString('$invalidValues[] = var_export($item);', 2))->addChild($method->getIndentedString('}', 1))->addChild('}')->addChild('if (!empty($invalidValues)) {')->addChild($method->getIndentedString(sprintf('throw new \\InvalidArgumentException(sprintf(\'Value(s) "%%s" is/are invalid, please use one of: %%s\', implode(\', \', $invalidValues), implode(\', \', %s::%s())), __LINE__);', $model->getPackagedName(true), StructEnum::METHOD_GET_VALID_VALUES), 1))->addChild('}');
         } else {
             $method->addChild(sprintf('foreach($%s as $item) {', $parameterName))->addChild($method->getIndentedString(sprintf('if (!%s) {', $this->getStructMethodSetBodyForArrayItemSanityCheck($attribute)), 1))->addChild($method->getIndentedString(sprintf('throw new \\InvalidArgumentException(sprintf(\'The %s property can only contain items of %s, "%%s" given\', is_object($item) ? get_class($item) : gettype($item)), __LINE__);', $attribute->getCleanName(), $this->getStructAttributeType($attribute, true)), 2))->addChild($method->getIndentedString('}', 1))->addChild('}');
         }
     }
     return $this;
 }