Пример #1
0
 public function parseFile(Annotations $adapter, $className, $module)
 {
     $parser = new AnnotationParser($adapter->get($className));
     if ($parser->isExistsAnnotationClass(self::CLASS_ANNOTATION)) {
         $this->tasks->add(new ModelTask($parser, $className));
     }
 }
 /**
  * 协议校验
  * @param $cname
  * @param $obj
  */
 private function validate($cname, $obj)
 {
     $properties = $this->reader->getProperties("{$cname}");
     exit(var_dump($properties));
     foreach ($properties as $key => $value) {
         foreach ($value as $annotation) {
             if ($annotation->getName() == "validate") {
                 $params = $annotation->getArguments();
                 //如果是必填的选项。
                 $validator = ValidatorFactory::getInstance()->getValidator($params['type']);
                 $validator->validator($key, $obj->{$key}, $params);
             } else {
                 if ($annotation->getName() == "where") {
                     $params = $annotation->getArguments();
                     $sql = null;
                     if (isset($params['type']) && $params['type'] == 'string') {
                         $sql = ' and ' . $params['field'] . ' ' . $params['op'] . ' ' . $obj->{$key};
                     } else {
                         if ($obj->{$key}) {
                             $sql = ' and ' . $params['field'] . ' ' . $params['op'] . $obj->{$key};
                         }
                     }
                     if ($sql) {
                         $obj->where = $obj->where . $sql;
                     }
                 }
             }
         }
     }
 }
Пример #3
0
 public function parseFile(\Phalcon\Annotations\Adapter $adapter, $className, $module)
 {
     $parser = new AnnotationParser($adapter->get($className));
     if ($parser->isExistsAnnotationClass(self::CONTROLER_ANNOTATION)) {
         $this->routers->add(new ModelRoute($parser, $className, $module));
     }
 }
Пример #4
0
 public function parseFile(\Phalcon\Annotations\Adapter $adapter, $className, $module)
 {
     $parser = new AnnotationParser($adapter->get($className));
     if ($parser->isExistsAnnotationClass(Service::CLASS_ANNOTATION)) {
         $this->listeners->add(new ModelListener($parser, $className));
     }
 }
Пример #5
0
 public function parseFile(Annotations $adapter, $className, $module)
 {
     $parser = new AnnotationParser($adapter->get($className));
     if ($parser->isExistsAnnotationClass(self::CLASS_ANNOTATION)) {
         $this->services->add(new ModelService($parser, $className, function ($className) {
             return $this->getServiceName($className);
         }, function ($value) {
             return $this->getValue($value);
         }));
     }
 }