Хочу сделать более универсальным компонент, чтобы его без изменений в коде можно было бы применять на нескольких сайтах. В компоненте встречаются обращения к функциям модели, которая может отсутствовать на сайте. Какие есть грамотные решения обойти эти вызовы, если модели не существует? Очень не хочется создавать модель-заглушку.
iGrog, компонент - форматтер, преобразующий вики-разметку в html. Писался под свой вики-движок для конкретного проекта, теперь буду его использовать на другом сайте в движке форума, для форматирования текста сообщений такой же разметкой. Но нужны будут только части преобразований, у некоторых функций нужно будет слегка изменить поведение. Форматтер собираюсь со временем дорабатывать, поэтому важно не разбивать его на "ветки", а иметь один универсальный (для всех моих проектов) код.
Разметка ссылки на существующие и требующиеся статьи отличается, поэтому требуется запрос к БД. Ну и мелочи, вроде обработки команды вывода числа статей… Можете посоветовать для таких случаев более универсальный путь, чем прямое обращение к модели из форматтера? Буду благодарен.
мне не понравилась, т.к. привязывается к пути к модели, он может измениться, нашел другой вариант, который меня устроил
if(@class_exists($modelName));
class_exists позволяет проверить существует ли класс с использованием __autoload, но YIIшный автолоад на несуществующие модели ругается, для этого используется @ которая отключает ворнинги и нотайсы для вызываемой функции (и всех в ее стеке вызовов).