ФорумПрограммированиеPHP для идиотов → _call обратная разборка массива

_call обратная разборка массива

  • soul

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

    Spritz 25 декабря 2010 г. 0:14


    public function __call($method, $params) {
    $this->_obj->$method($params);
    }

    как известно, эта функция пакует все параметры в массив $params, что меня всегда напрягало. поскольку сторонним библиотеками, которые хранятся в $this->_obj, необходимо несколько параметров, а не один массив, то нужно массив как-то распаковать обратно.

    как это сделать рационаьно?

    public function __call($method, $params) {
    $this->_obj->$method(extract($params));
    }

    extract не прокатывает
  • soul

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

    Spritz 25 декабря 2010 г. 0:50, спустя 36 минут 3 секунды

    вроде прокатило, то что надо.
  • soul

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

    Spritz 25 декабря 2010 г. 1:28, спустя 37 минут 56 секунд

    с пхп 5.3 написано с обычными работает, пофиксили :)
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 25 декабря 2010 г. 15:45, спустя 14 часов 17 минут 5 секунд

    Распаковать можно но только через elseif больше никак
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 25 декабря 2010 г. 23:11, спустя 7 часов 25 минут 35 секунд

    да call_user_func_array это очень по ООПшному

    юзай маны http://ua2.php.net/manual/en/reflectionmethod.invokeargs.php

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