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;
 }