示例#1
0
 public function __construct($class_name)
 {
     $this->class = Reflections::instance()->add($class_name)->get($class_name);
     $this->reestablish_connection(false);
     $this->set_table_name();
     $this->get_meta_data();
     $this->set_primary_key();
     $this->set_sequence_name();
     $this->set_delegates();
     $this->set_setters_and_getters();
     $this->callback = new CallBack($class_name);
     $this->callback->register('before_save', function (Model $model) {
         $model->set_timestamps();
     }, array('prepend' => true));
     $this->callback->register('after_save', function (Model $model) {
         $model->reset_dirty();
     }, array('prepend' => true));
 }
 public function __construct($className)
 {
     $this->class = Reflections::instance()->add($className)->get($className);
     $this->reestablishConnection(false);
     $this->setTableName();
     $this->getMetaData();
     $this->setPrimaryKey();
     $this->setSequenceName();
     $this->setDelegates();
     $this->setSettersAndGetters();
     $this->callback = new CallBack($className);
     $this->callback->register('beforeSave', function (Model $model) {
         $model->setTimestamps();
     }, array('prepend' => true));
     $this->callback->register('afterSave', function (Model $model) {
         $model->resetDirty();
     }, array('prepend' => true));
 }
示例#3
0
 public function __construct($class_name)
 {
     $this->class = Reflections::instance()->add($class_name)->get($class_name);
     // if connection name property is null the connection manager will use the default connection
     $connection = $this->class->getStaticPropertyValue('connection', null);
     $this->conn = ConnectionManager::get_connection($connection);
     $this->set_table_name();
     $this->get_meta_data();
     $this->set_primary_key();
     $this->set_sequence_name();
     $this->set_delegates();
     $this->set_setters_and_getters();
     $this->callback = new CallBack($class_name);
     $this->callback->register('before_save', function (Model $model) {
         $model->set_timestamps();
     }, array('prepend' => true));
     $this->callback->register('after_save', function (Model $model) {
         $model->reset_dirty();
     }, array('prepend' => true));
 }
示例#4
0
 protected function set_class_name($class_name)
 {
     $reflection = Reflections::instance()->add($class_name)->get($class_name);
     if (!$reflection->isSubClassOf('ActiveRecord\\Model')) {
         throw new RelationshipException("'{$class_name}' must extend from ActiveRecord\\Model");
     }
     $this->class_name = $class_name;
 }
 protected function set_class_name($class_name)
 {
     if (!has_absolute_namespace($class_name) && isset($this->options['namespace'])) {
         $class_name = $this->options['namespace'] . '\\' . $class_name;
     }
     $reflection = Reflections::instance()->add($class_name)->get($class_name);
     if (!$reflection->isSubClassOf('ActiveRecord\\Model')) {
         throw new RelationshipException("'{$class_name}' must extend from ActiveRecord\\Model");
     }
     $this->class_name = $class_name;
 }
示例#6
0
 protected function set_class_name($class_name)
 {
     try {
         $reflection = Reflections::instance()->add($class_name)->get($class_name);
     } catch (\ReflectionException $e) {
         if (isset($this->options['namespace'])) {
             $class_name = $this->options['namespace'] . '\\' . $class_name;
             $reflection = Reflections::instance()->add($class_name)->get($class_name);
         } else {
             throw $e;
         }
     }
     if (!$reflection->isSubClassOf('ActiveRecord\\Model')) {
         throw new RelationshipException("'{$class_name}' must extend from ActiveRecord\\Model");
     }
     $this->class_name = $class_name;
 }