Beispiel #1
0
 /**
  * Метод преобразует данный объект в ассоциативный массив
  */
 public function asAssocArray(array $allowed = null)
 {
     $class = __CLASS__;
     $result = array();
     foreach (PsUtil::getClassProperties($class, false, false) as $fieldName) {
         check_condition(UserBean::hasColumn($fieldName), "Поле {$class}::{$fieldName} не может быть свойством пользователя");
         if ($allowed === null || in_array($fieldName, $allowed)) {
             $result[$fieldName] = $this->{$fieldName};
         }
     }
     return $result;
 }
Beispiel #2
0
 /**
  * @covers PsUtil::getClassProperties
  */
 public function testGetClassProperties()
 {
     $this->assertEquals(array('MY_PROP_ARR', 'MY_PROP_INT'), PsUtil::getClassProperties(new ClassA(), true, true));
     $this->assertEquals(array('MY_PROP_ARR', 'MY_PROP_INT', 'MY_PROP_BOOL'), PsUtil::getClassProperties(ClassA::get__FILE__(), null, true));
     $this->assertEquals(array('MY_PROP_DOUBLE'), PsUtil::getClassProperties(ClassA::get__CLASS__(), true, false));
     $this->assertEquals(array('MY_PROP_DOUBLE', 'MY_PROP_ARR', 'MY_PROP_INT'), PsUtil::getClassProperties(ClassA::get__FILE__(), true));
     $this->assertEquals(array('MY_PROP_DOUBLE', 'MY_PROP_ARR', 'MY_PROP_INT', 'MY_PROP_BOOL'), PsUtil::getClassProperties(ClassA::get__FILE__(), null));
 }