Может быть закрыт, потерял обзор в моем проекте и работал в файле с тем же именем и методом. Так что никаких изменений не было сделано. Это работает сейчас. Извините за трату вашего времени. Виноват.
У меня есть статический метод фабрики, в котором я пытаюсь получить имя класса параметра.
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
static function factory($row)
{
if (isset($classname)) {
$classname = get_called_class();
}
}
Если вы используете isset () перед вызовом переменной. Невозможно отобразить уведомление неопределенной переменной.
http://php.net/manual/en/function.isset.php isset — определяет, установлена ли переменная и не равна ли NULL
Других решений пока нет …