Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Глобальные переменные в функциях

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dimka888
Отправлено: 07 Октября, 2010 - 09:33:48
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Всем привет. У меня такая проблемка. Для реализации моей идеи, мне необходимо чтобы в функции были доступны все переменные из вне. Т.е. чтобы не писать в функции global и перечислять все переменные. Чтобы они сразу были доступны... Есть ли способ решения моей проблемки???

Если нету то идея такая, у меня функция подключает файл. А при подключении файла через функцию, переменные в ней доступны только этой функции, а мне нужны все. Почему не подключать файл функцией include и подобными? При подключении файла необходимо сделать ряд проверок, функция в коде встречается около 10 раз. Естественно без функции количество кода на много увеличится. Может быть есть другой способ? )

Спасибо всем кто откликнется.
 
 Top
Мелкий Супермодератор
Отправлено: 07 Октября, 2010 - 10:33:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




dimka888 пишет:
Есть ли способ решения моей проблемки???

есть, переработать архитектуру приложения.

10 раз подключать один и тот же файл? Зачем?

(Отредактировано автором: 07 Октября, 2010 - 10:34:20)



-----
PostgreSQL DBA
 
 Top
dimka888
Отправлено: 07 Октября, 2010 - 10:46:54
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Мелкий пишет:
есть, переработать архитектуру приложения.

К сожалению я не вижу решения моей проблемы, кроме как отказаться от функции и вставлять код напрямую...

Мелкий пишет:
10 раз подключать один и тот же файл? Зачем?


Не один и тот же файл. В функцию передается параметр, какой файл подключать.
 
 Top
Uchkuma
Отправлено: 07 Октября, 2010 - 18:15:10
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




Мелкий пишет:
есть, переработать архитектуру приложения.
Я бы тоже над этим подумал.
А вообще на ваш вопрос может быть такой ответ:
PHP:
скопировать код в буфер обмена
  1. # Ваша функция
  2. function check($file){
  3. //тут проверяете ваш файл $file
  4. if($its_ok){
  5. return true;
  6. } else {
  7. return false;
  8. }
  9. }
  10.  
  11.  
  12. $file = 'file.php';
  13. if(check($file)) require $file;
  14.  
  15. $file = 'cfg.php';
  16. if(check($file)) require $file;
  17.  
  18. $file = 'txt.php';
  19. if(check($file)) require $file;
  20.  
  21. //etc. хоть 100 раз
 
 Top
JustUserR
Отправлено: 08 Октября, 2010 - 14:44:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




dimka888 пишет:
Для реализации моей идеи, мне необходимо чтобы в функции были доступны все переменные из вне.
Для осуществления доступа к глобальным переменным из некоторой функции возможно использовать универсальный способ - основанный на универсальной доступности суперглобальных массивов и представления обычных переменных как ключей специального ассоциативного массива - и трактования null-значений как фиксирующего значения устанавивающего флаг удаления запрошенного объекта
Кроме того операция global представляет собой только создание локальной ссылки - то есть конструкция global $myval является эквивалентной по сути и реализации по отношению к $myval=&$_GLOBALS['myvar'] - за исключение разницы относително операции удаления переменной


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB