[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Имена классов через переменную.
hazy
Приветсвую.
Кто подскажет?
Были строчки:
$class_name='LTasktype';
$model=$class_name::getData($varpack_var);

На денвере отлично работало. Залил на сервер - перестало.
Пришлось городить следующее:
$class_name='LTasktype';
$class_name= new $class_name();
$model=$class_name->getData($varpack_var);


Как это по красивее оформить и что бы работало?
forza
$class_name='LTasktype';
$model=$class_name::getData($varpack_var);


Чтобы работало так, нужно, чтобы метод getData был статический (public static);

_____________
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио
hazy
С этим все в поряде.
Иначе денвер тоже ругался бы.
А хостер возвращает - класс не найден. (надо было сразу уточнить).
Но я проверил на всякий случай.
Guest
на хосте если есть возможность переведите в PHP 5.3, на 5.2 эта конструкция вызывает фатальную ошибку (нельзя использовать)
Guest
Статические методы с использованием переменной вместо определения класса в 5.2 запрещены
Guest
И если есть возможность посмотри логи
hazy
Да.
Вы правы.
Версия 5.2.9.
Огромное спасибо.
AlmazDelDiablo
На 5.2 можно это сделать через eval(), если версия ПХП фатальна.

_____________
Блог | VK | GitHub | Twitch
hazy
Если не ошибаюсь eval() соответствует $$.
Я так делал.

$class_name='LTasktype';
$model=$$class_name::getData($varpack_var);

не помогло.
Быстрый ответ:

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