PHP Все функциональные переменные глобальные - PullRequest
4 голосов
/ 09 июня 2010

У меня есть функция init на моем веб-сайте во внешнем файле functions.php.Index.php загружает эту страницу и вызывает функцию init:

function init(){
   error_reporting(0);
   $time_start = microtime(true);
   $con = mysql_connect("localhost","user123","password123");
   mysql_select_db("db123");
}

Как я могу сделать все эти переменные глобальными (если это возможно), не используя

global $time_start;
global $con;

Ответы [ 4 ]

3 голосов
/ 09 июня 2010

Вы не хотите, чтобы он был глобальным.

В качестве альтернативы можно заключить его в объект или даже использовать DI для его настройки.

1 голос
/ 09 июня 2010

Если вы хотите специально использовать глобальные переменные, взгляните на массив $ GLOBALS .Несмотря на то, что есть несколько других способов, Передать по ссылке , Объект реестра данных рекомендуется и т. Д.

Подробнее о переменных областях .

1 голос
/ 09 июня 2010

Может быть, вы можете вернуть эти переменные из функции init ():

function init(){
   error_reporting(0);
   $time_start = microtime(true);
   $con = mysql_connect("localhost","user123","password123");
   mysql_select_db("db123");

   return array('time_start' => $time_start, 'con' => $con);
}
0 голосов
/ 09 июня 2010

Вы можете объявить их в глобальной области видимости, а затем передать их функции по ссылке. После изменения функции сделать это.

...