Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача агрументов 
:(
    Опции темы
BIG BROTHER
Дата 1.4.2006, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 9.12.2004
Где: Россия, Москва

Репутация: нет
Всего: 4



Для упрощения разработки решил пойти след путем:
Функции объеденены в библиотеки, которые лежат в отдельном каталоге, когда нужно их использовать, просто подключаю нужную библиотеку и работаю с ее методами.
Далее решил еще упростить и в ядро системы написал функцию, для подключения нужной библиотеки
Вот она:
Код

function LibInit($lib) {
    include('/lib/'.$lib.'.php');
    $LIB = &new $lib;
    return $LIB;
    }

Таким образом я сразу получаю объект, без потери лишнего места.
НО Проблема воникла: как таким образом передать агрументы конструктору класса-библиотеки.

Т.е.
Код

$REQ_LIB = LibInit('lib_xml', /* тут передаю агрументы для конструктора, например массивом */)

--------------------
Mess with the best, die like the rest
PM MAIL ICQ   Вверх
Ciber SLasH
Дата 2.4.2006, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: нет
Всего: 67



Передаёшь аргументы в функцию, а из функции в цикле читаешь аргументы или сразу из массива отдаёшь в конструктор.

Читаем мануал по функциям: func_get_args, func_num_args.
PM   Вверх
BIG BROTHER
Дата 2.4.2006, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 9.12.2004
Где: Россия, Москва

Репутация: нет
Всего: 4



Цитата(Ciber SLasH @ 2.4.2006, 01:15 Найти цитируемый пост)
Передаёшь аргументы в функцию, а из функции в цикле читаешь аргументы или сразу из массива отдаёшь в конструктор.

Допустим есть массив с аругментами, которые нужно передать в конструктор. Как их циклом читать и подставлять в вызов консруктора?
Ведь нельзя типа того:
Код
$LIB = LibInit('xml_lib', for($i=0;...) {...} );

--------------------
Mess with the best, die like the rest
PM MAIL ICQ   Вверх
Ciber SLasH
Дата 2.4.2006, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: нет
Всего: 67



А ты сделай так, чтобы конструктор принимал аргументы в массиве, тогда можно будет просто отдать массив аргументов:
Код

function init($lib) {
$params = func_get_args();
    array_shift($params);
    include('/lib/'.$lib.'.php');
    $LIB = &new $lib($params);
return $LIB;
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.