Example #1
0
 protected function setupReferenceType(Reference $reference)
 {
     $result = preg_match('#^(0|[1-9]\\d*)$#u', $reference->getKey());
     PregHelper::assertMatchResult($result, RegExpException::class, "Regular expression error on reference type detection");
     if (1 === $result) {
         $type = Reference::TYPE_INDEX;
     } elseif ('-' == $reference->getKey()) {
         $type = Reference::TYPE_NEXT_INDEX;
     } else {
         $type = Reference::TYPE_PROPERTY;
     }
     $reference->setType($type);
     return $this;
 }