ФорумПрограммированиеPHP для идиотовPHP и ООП → Кагбе нефурычит

Кагбе нефурычит

  • cy4ka

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz Май 8, 2011, 9:03 п.п.

    Есть код
    <?php
    @ini_set('display_errors', 1);
    @ini_set('html_errors', 0);
    @ini_set('magic_quotes_runtime', 0);
    @ini_set('magic_quotes_sybase', 0);

    class m {
    static public $a = array();

    function newA($name){
    self::$a[$name] = new $name;
    }

    static function getA(){
    return self::$a;
    }
    }


    class a1 {
    public function __construct(){
    m::newA('a2');
    print_r(m::getA());
    }
    }

    class a2 {
    public function __construct(){
    }
    }
    m::newA('a1');
    //print_r(m::getA());
    ?>

    выдает
    Array ( [a2] => a2 Object ( ) )

    Нужно сделать так что бы выдавало
    Array ( [a2] => a2 Object ( ) [a1] => a1 Object ( ) )
    ,
    на данный момент если раскоментировать последнюю строчку то он выдает, но смак в том, что нужно что бы это выдавалось после строки с
    m::newA('a2');
    в классе a2, а не в конце скрипта когда вся работа уже выполнена.
    Спустя 46 сек.
    * в классе a1
  • cy4ka

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz Май 9, 2011, 12:01 д.п., спустя 2 часа 57 минут 56 секунд

    вопрос решен, нужно было добавить метод __destruct. Буду рад другим предложениям.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!