4から5への書き換え

ハマった。

<?php
class ClassA{}
class
ClassB{}

$classes = array('ClassA', 'ClassB');
foreach (
$classes as $name){
    
$class = new $name;
    
$temp[$name] = & $class;
}
    
var_dump($temp);

?>


こうすると両方ともClassBになってしまう。
$class = & new $name; にすれば大丈夫。


よく考えたら当然なんだけど、newしてるのが別のファイルだったり、コンポーネントでソースファイルを行ったり来たりしてて分からなかった。


取り敢えず今までのソースのオブジェクトに対する&は全部取り去る方向にするけど、削除し忘れると変なところでエラーになって非常に分かりづらい。