public static function fromArray(&$p) { $marks = array(); if (isset($p['marks'])) { foreach ($p['marks'] as $mark) { $marks[] = Mark::fromArray($mark); } } return new Pier($p['id'], $p['observatory_id'], $p['name'], $p['begin'], $p['end'], $p['correction'], $p['defaul_mark_id'], $p['default_electronics_id'], $p['default_theodolite_id'], $marks); }