![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Мне нужно использовать в функции достаточное количество внешних данных.
Как мне это лучше сделать: 1. передавать значения в функцию? (есть ли ограничения на количество передаваемых переменных?) 2. создать массив, в который загонять переменные по необходимости и передавать одну переменную-массив? 3. объявлять и использовать в самой функции глобаньные переменные? 4. иное? подскажите как лучше и правильнее. -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Я в таких случаях выбираю просто.
1. Предположим есть шаблон отображения информации о файле. Т.е. информация из одной темы и я передаю один массив. 2. Если информация разнородная, к примеру в классе для работы с Базой, я отправляю сами переменные, чтобы в функции можно было лучше понять что и где, да и не генерировать лишний раз не нужгный массив. 3.
Неа.. Использовал только для объектов и то сейчас перешел к 1 объекту.
http://php.rinet.ru/manual/ru/function.func-get-args.php |
||||
|
|||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
смотря какие данные, если например конфиги, то можно передать путь к файлу с конфигами
|
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Мне тогда лучше класс сделать?
вот пример, все данные строковые. Вообще, это данные для отображения в контексте
4-й вариант - всё равно передавать нужно много, а писать такую длинную строку не хочется Добавлено @ 14:37 в других функциях данных ещё больше... Это в основном окончания к словам, например, "1 заведение", 2 заведения, т.е. в зависимости от результата. И таких данных много -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
это не совсем то, мне нужны переменные, функции не войдут
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Red Dragon применяя ту функцию ты получишь массив из аргуметов, не прописывая их в ().
Да, это не очень удобно, но не заменимо при динамическом кол-ве параметром. В противном случае - ассоциативный массив. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
наверное в данном случае это лучший вариант -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
в общем поднимаю тему, опять актуальна.
Сейчас я передаю в функции исключительно один массим, да и вообще у меня отдельные переменные свидины до минимума. Мне так удобнее обрабатывать. НО(!) сейчас есть глобальные переменные, ну например что-то такое $baza = new CDatabase(_DB, _HOST, _USER , _PASW); вопрос: как лучше? function qq($baza){ //..... } или function qq(){ GLOBAL $baza; //..... } приветствуется обоснование, опыт, предпочтения -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 19 Всего: 54 |
Gold Dragon, лично я предпочитаю и считаю правильным так:
-------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
mishaSL,в php5 нет нужды ставить & - все и так передается по ссылке
|
|||
|
||||
| sTa1kEr |
|
||||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Я бы в таком случае использовал статическое поле или синглтон класс.
Не все, только объекты и ресурсы. |
||||
|
|||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Gold Dragon, с инверсией зависимостей между классами знаком?
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
я вообще с классами не дружу. Сколько раз пытался строить проекты, не выходит.. Использую только отдельные функции. Пользуюсь только готовыми классами, типа работа с почтой, с базой и т.п.
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |