$array1 = array( array( "id" => "1", "name" => "name1" ), array( "id" => "2", "name" => "name2" ) ); $array2 = array( array( "id" => "3", "name" => "name3" ), array( "id" => "4", "name" => "name4" ) ); print_r( array_merge( $array1, $array2 ) ); // вывод Array ( [0] => Array ( [id] => 1 [name] => name1 ) [1] => Array ( [id] => 2 [name] => name2 ) [2] => Array ( [id] => 3 [name] => name3 ) [3] => Array ( [id] => 4 [name] => name4 ) )
$x.setCmFromM( $x.getCmFromM() ) делает те же действия, и вполне себе имеет право на жизнь ибо из названия понятно что выйдет.
То что пример у Вас
уебанскийплохой, да, я спорить не буду, но то что во всех сеттерах нужно запрещать изменять значение, я не могу согласиться.