[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Непонятный казус с видимостью переменных
yuriy
Привет!
В шапке файла класса подключаю файл с обычными функциями. В файле функций подключаю файл инициализации глобальных переменных. Функции в файле функций не видят глобальных переменных. Пробовал в теле функций предварительно объявлять нужные переменные при помощи global, всё равно они все пустые (переменные). Пример:


// Класс

require_once('library/vk_video_v_1_5_8/video_f.php');

class lib_TcheckVideo_1_0 extends gen_Tblk_ab {

private $_object = null;

...


.....................................................................


// файл video_f.php

include(dirname(__FILE__) . '/init.php');
$search = 0;

if (isset($video_classes))
echo 'yes1<br>'; // Видно!!!!!
else
echo 'no1<br>';

function search($video_hosting, $key, $min_duration, $max_duration, $mode = 0, $callback = 0) {

global $video_classes;
if (isset($video_classes))
echo 'yes2<br>';
else
echo 'no2<br>'; // Не видно!!!!!

...

.....................................................................


// файл init.php

error_reporting(E_ALL ^ E_NOTICE);
@set_time_limit(0);
@ignore_user_abort(0);

define('SCRIPT', TRUE);
define('ROOT', dirname(__FILE__));
define('VERSION', '1.5.8');

include(dirname(__FILE__) . '/config.php');
include(dirname(__FILE__) . '/functions.php');
//include(dirname(__FILE__) . '/classes/auto_update.class.php');
include(dirname(__FILE__) . '/classes/uppod.class.php');
include(dirname(__FILE__) . '/classes/vkontakte.class.php');

if ( !defined('KEY') ) {
die;
}

## Инициализация классов
$video_classes = array();
$vkontakte = new vkontakte($config['vk_app_id'], $config['vk_secret'], $config['vk_access_token'], $config['vk_sort'], $config['vk_hd'], $config['depth']);
$video_classes['vkontakte'] = $vkontakte->info();

...



На счёт самого подключения всё нормально. Вне пределов функций глобальные переменные видны, а вот в телах функций их не видно почему-то.

Проблема: В function search не видно глобальной переменной $video_classes, хотя за пределами функции в том же файле она есть. Функцию search вызываю в теле метода класса.

_____________
void x;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.