コード例 #1
0
ファイル: DataTest.php プロジェクト: neatphp/neat
 public function testClone_returnsData()
 {
     $data = $this->subject['offset3'];
     $filter = $this->subject->getFilter();
     $validator = $this->subject->getValidator();
     $clone = clone $this->subject;
     $this->assertNotSame($filter, $clone->getFilter());
     $this->assertNotSame($validator, $clone->getValidator());
     $this->assertNotSame($data, $clone['offset3']);
 }
コード例 #2
0
ファイル: Object.php プロジェクト: neatphp/neat
 /**
  * Parses comment.
  *
  * @param string $comment
  *
  * @return void
  */
 private function parseComment($comment)
 {
     $lines = explode(PHP_EOL, $comment);
     foreach ($lines as $line) {
         $pos = stripos($line, '@property-read');
         if ($pos !== false) {
             $isReadonly = true;
         } else {
             $pos = stripos($line, '@property');
             $isReadonly = false;
         }
         if (false !== $pos) {
             $property = explode(' ', preg_replace('/[ ]+/', ' ', substr($line, $pos)));
             $name = $property[1];
             if (3 == count($property)) {
                 $name = $property[2];
                 $type = $property[1];
             }
             if ('$' == $name[0]) {
                 $name = substr($name, 1);
             }
             $this->properties->init($name, null, $isReadonly);
             if (isset($type)) {
                 $this->properties->getValidator()->append($name, $type);
             }
         }
     }
 }