Неопределенная переменная в isset ()

Может быть закрыт, потерял обзор в моем проекте и работал в файле с тем же именем и методом. Так что никаких изменений не было сделано. Это работает сейчас. Извините за трату вашего времени. Виноват.

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

static function factory($row)
{
if (is_null($classname)) {
$classname=get_called_class();
}

Ошибка вывода:

[Вт 23 сентября 18: 35: 24.078345 2014] [: ошибка] [pid 9971] [клиент
127.0.0.1:45702] Примечание PHP: Неопределенная переменная: имя класса в /var/www/dev/lib/class.base.php в строке 9, реферер:

> http://localhost/dev/app.php?action=do

Когда я пытаюсь установить $ classname = null; перед проверкой есть также неопределенная ошибка переменной. То же самое с isset ($ classname). Что я сделал не так?

Вот еще один пример, который не работает для меня:

 class definetest{
static function factory()
{
if (is_null($classname)) {
$classname=get_called_class();
}
return $classname;
}

}

$x = new definetest();

echo $x::factory();

Он возвращает имя класса, но у меня есть ошибка в моем журнале apache

0

Решение

static function factory($row)
{
if (isset($classname)) {
$classname = get_called_class();
}
}

Если вы используете isset () перед вызовом переменной. Невозможно отобразить уведомление неопределенной переменной.

http://php.net/manual/en/function.isset.php isset — определяет, установлена ​​ли переменная и не равна ли NULL

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]