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
Форумы портала PHP.SU :: Версия для печати :: Как внедрить в функцию...
Форумы портала PHP.SU » » Вопросы новичков » Как внедрить в функцию...

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

1. android - 03 Января, 2012 - 15:53:51 - перейти к сообщению
Привет, есть функция

function main() {
echo 'Главный шаблон страницы';
}

Как сделать переменную $text глобальной, что бы она была доступна везде в том числе и в функции

что бы был такой доступ:

PHP:
скопировать код в буфер обмена
  1. $text = '+++';
  2. function main() {
  3.  echo $text.'Главный шаблон страницы';
  4. }


И не нужно предлагать main($text)

У меня очень много функций и каждый раз ставить новую переменную нет резона.
2. antobra - 03 Января, 2012 - 15:56:50 - перейти к сообщению
через define или $GLOBAL
3. dropoff - 03 Января, 2012 - 16:02:37 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $text = '+++';
  2. function main() {
  3. global $text;
  4.  echo $text.'Главный шаблон страницы';
  5. }


or

PHP:
скопировать код в буфер обмена
  1. define('TEXT', '+++');
  2. function main() {
  3.  echo TEXT.'Главный шаблон страницы';
  4. }
4. android - 03 Января, 2012 - 16:08:07 - перейти к сообщению
dropoff а если $text['fogg'] передать через define

Я понимаю так:

PHP:
скопировать код в буфер обмена
  1.  
  2. define('text', $text);
  3.  
  4. function main() {
  5.  
  6.  echo text['fogg'].'Главный шаблон страницы'.text['fogg2'].text['fogg3'].;
  7.  
  8. }
  9.  


?
5. dropoff - 03 Января, 2012 - 16:14:07 - перейти к сообщению
так. (сори. пропустил.)
PHP:
скопировать код в буфер обмена
  1. define('text', $text['fogg']);
  2. define('text2', $text['fogg2']);
  3. define('text3', $text['fogg3']);
  4. function main() {
  5.  
  6.  echo text.'Главный шаблон страницы'.text2.text3.;
  7.  
  8. }


почитайте про константы. прям в коде есть ссыль на мануал.

Но это действительно "костыль", как написано ниже.
Массив лучше глобально передавать, либо через аргумент в функцию.
6. Саныч - 03 Января, 2012 - 16:14:42 - перейти к сообщению
1. через $GLOBALS
2. global
3. а что мешает просто передать ее в функцию?

з.ы. причем здесь define? Вопрос вобщ был про переменную
7. DlTA - 03 Января, 2012 - 16:24:43 - перейти к сообщению
dropoff пишет:
define('text', $text['fogg']);
 
function main() {
 
 echo text.'Главный шаблон страницы'.text['fogg2'].text['fogg3'].;

это даже не костыль, это пародия на костыль
8. android - 03 Января, 2012 - 16:37:24 - перейти к сообщению
Саныч спасибо $GLOBALS в самый раз.
9. Данил_123 - 03 Января, 2012 - 16:41:44 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $text = '+++';
  2. function main($text) {
  3.  echo $text.'Главный шаблон страницы';
  4. }
  5. main($text); // вызов функции


ааа.. все не заметил..

 

Powered by ExBB FM 1.0 RC1