Есть ли способ получить __callStatic или аналогичные функции в PHP 5.2?
Я заканчиваю PHP Framework и должен использовать эту функциональность для класса ORM базы данных. Например, вы можете использовать приведенный ниже код для получения данных из столбца 2 и столбца 4 таблицы базы данных, т. Е. Путем динамического объявления методов в соответствии с тем, что вы хотите (например, рельсы).
Class::find_by_col2_or_col4();
Я уже делал это в PHP 5.3, и он отлично работает, но я пытаюсь сделать то же самое для тех, кто использует PHP 5.2.
Или есть другой способ получить имя статического метода и аргументов с помощью PHP 5.2?
Благодарю.
Не в статической емкости. Технически говоря, Rails, CakePHP и т. Д. Не ставят эти типы динамических методов статически. Не вступать в философские дебаты, но если требуется обратная совместимость, вы можете перенести свою парадигму и использовать __call()
. В этом случае вы вызываете объект, например ModelObject->find_by_col2_or_col4
. Конечно, я понимаю, что это, вероятно, не то, что вы хотели услышать.
Это PHP, возможно, существует какой-то способ взломать его, но я не считаю, что существует собственный метод.