[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ООП вывод несуществующей переменной свойства
Xes
	function CreateDBLinks(){
if(file_exists('dblinks.txt') && is_file('dblinks.txt'))
{
echo $a;

}
else
{
$this->LoadDBLinks();
}
}


Это метод класса, вывожу переменную $a которая ни где внутри класса не описанна ошибки нет.
Почему?



Спустя 20 минут, 53 секунды (11.09.2011 - 13:08) TranceIT написал(а):
Исходя из условия выводиться она должна если существует файл dblinks.txt. Значит его нет.
Сделайте вывод без условия.

А экземпляр класса вы создавали?

Спустя 7 минут, 48 секунд (11.09.2011 - 13:16) bodja написал(а):
Ну так может ,даже метод не вызывается biggrin.gif

Спустя 31 минута, 39 секунд (11.09.2011 - 13:48) Xes написал(а):
Метод вызывается дописал уже туда дальнейший код, работает. Но ошибку по поводу "а" не выдает. Выносил эту строку даже за условие все равно нет ошибки.
function CreateDBLinks(){
echo $a;
if(file_exists('dblinks.txt') && is_file('dblinks.txt'))
{

ob_start();
@readfile('dblinks.txt');
$dblinks = ob_get_clean();
//$dblinks = jeson_decode($dblinks);

echo $dblinks;



}
else
{
$this->LoadDBLinks();
}
}

Спустя 8 минут, 51 секунда (11.09.2011 - 13:57) TranceIT написал(а):
Сделайте нормальный листинг. Чтобы было понятно. как это должно работать. Из приведенного вами у вас ничего выводиться не должно.

Спустя 2 минуты, 56 секунд (11.09.2011 - 14:00) Xes написал(а):
proba.php

<?
$date[] = '2011-10-11';
$idlink[] = '1';
$idlink[] = '2';
$idlink[] = '3';
$idlink[] = '4';
$href[] = 'http://listhotel.ru/gorod.php?goroden=anapa';
$href[] = 'http://listhotel.ru/gorod.php?goroden=adler';
$href[] = 'http://listhotel.ru/gorod.php?goroden=velikiy_ustug';
$href[] = 'http://listhotel.ru/gorod.php?goroden=vladimir';
$title[] = 'Гостиницы Анапы';
$title[] = 'Гостиницы Адлера';
$title[] = 'Гостиницы Великого Устюга';
$title[] = 'Гостиницы Владимира';
$uri = array();
$error = array();
$links = array('idlink' => $idlink, 'href' => $href, 'title' => $title, 'uri' => $uri);
$dblinks = array('date' => $date, 'links' => $links, 'error' => $error);
header('Content-type: text/html; charset=utf-8');
echo json_encode($dblinks);
?>


<?php
class
LHLinks{
//Метод создает объект (свойство LHLinks) с БД ссылок из текстового файла либо загружает с listhotel.ru
function CreateDBLinks(){
echo $a;
if(file_exists('dblinks.txt') && is_file('dblinks.txt'))
{

ob_start();
@readfile('dblinks.txt');
$dblinks = ob_get_clean();
$dblinks = json_decode($dblinks);

echo $dblinks->links->title[0];



}
else
{
$this->LoadDBLinks();
}
}

//Метод загружает БД с listhotel.ru
function LoadDBLinks(){
$dblinks = @file_get_contents('http://test1.ru/proba.php');
if($dblinks)
{
//Rонтент получен
$fp = fopen('dblinks.txt', 'a');
if($fp)
{
//Файл открыт в режиме только для записи, создать файл если его нет
flock($fp, LOCK_EX);
ftruncate($fp, 0);
fwrite($fp, $dblinks);
fflush($fp);
flock($fp, LOCK_UN);
fclose($fp);
$this->CreateDBLinks();
}
else
{
//Ошибка открытия файла для записи
}
}

else
{
//Не удалось получить контент
}
}

}


?>


include_once('listhotel.php');
$links = new LHLinks;
$links->CreateDBLinks();

Спустя 12 минут, 8 секунд (11.09.2011 - 14:12) TranceIT написал(а):
У меня только 2 соображения на этот счет. Либо отключен вывод сообщений об ошибках (ERROR_REPORTING) или она где-то определена пустой.

Спустя 14 минут, 1 секунда (11.09.2011 - 14:26) Xes написал(а):
Цитата (TranceIT @ 11.09.2011 - 11:12)
У меня только 2 соображения на этот счет. Либо отключен вывод сообщений об ошибках (ERROR_REPORTING) или она где-то определена пустой.

Спасибо уже не первый раз натыкаюсь на такой касяк, забыл что не прописана строка error_reporting(E_ALL);

Спустя 17 часов, 39 минут, 45 секунд (12.09.2011 - 08:05) linker написал(а):
В данном примере, переменная $a является обычной переменной, а не свойством объекта (полем класса). $this->a или self::$a - уже другое дело.
Быстрый ответ:

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