Как можно упростить?

RASAMAHA

Новичок
Как можно упростить?

Выглядит ужасно, а умения упростить не хватает...

PHP:
$data   = sqlsrv_fetch_array ( $result );

        $this->id                   = $data['id'];
        $this->soname               = $data['soname'];
        $this->name                 = $data['name'];
        $this->patronymic           = $data['patronymic'];
        $this->login                = $data['login'];
        $this->password             = $data['password'];
        $this->user_permission      = $data['user_permission'];
        $this->reg_time             = $data['reg_time'];
        $this->subdivision          = $data['subdivision'];
        $this->section              = $data['section'];
        $this->position             = $data['position'];
        $this->mail                 = $data['mail'];
        $this->ip                   = $data['ip'];
        $this->house_phone          = $data['house_phone'];
        $this->out_phone            = $data['out_phone'];
        $this->room                 = $data['room'];
 

RASAMAHA

Новичок
объемно) я думаю, что можно как-то сократить запись? или нет?
 

whirlwind

TDD infected, paranoid
Ну в каком месте объемно? Ты это что ли для каждого объекта пишешь или выделил код в метод класса, например fromArray и тебе объемно вызывать каждый раз этот метод?
 

RASAMAHA

Новичок
Это конструктор, просто я думал, можно это записать более лаконично. Я туп и глуп)
 

Krishna

Продался Java
foreach ($data as $k =>$v)
$this->$k = $v

?

но это будет работать только пока индексы массивов соответствуют правилам именования переменных в пыхе
ведь индекс напимер может быть типа $data[0].

-~{}~ 06.09.09 00:03:

Но вообще, лучше не тот код, что более короткий, а тот, что более читаемый.
 

Sawa

Новичок
$this->data=$data; - более лаконично, при именовании
$this->user_permission = $data['user_permission'];
Вы всеравно указываете имя переменной,в нашем случае извлекать придется так
$this->data['user_permission']
Вариант с foreach не совсем корректен, т.к. при изменении таблиц могут появляться непредсказуемые баги
 

Krishna

Продался Java
Вариант с foreach не совсем корректен, т.к. при изменении таблиц могут появляться непредсказуемые баги
Чем эти баги будут отличаться от багов при исходном варианте?
 

Sawa

Новичок
нет исходника класса, могут быть случайные совпадения имен столбцов с именами переменных при дальнейших изменениях класса
 
Сверху