Я пытаюсь создать систему плагинов для своего веб-сайта, чтобы мне не пришлось изменять код, когда я хочу что-то добавить / настроить. Но я не уверен, что это лучший подход.
Например, я пытаюсь создать систему, в которой плагины могут манипулировать сообщениями. Например, пост:
«Интерстеллар» Кристофера Нолана заработал в кассе 663,3 миллиона долларов. Больше на
http://en.wikipedia.org/wiki/Interstellar_%28film%29
Я пытаюсь создать надстройку, которая изменит все URL на кликабельные ссылки. Плагин будет функцией PHP, как это:
<?php
function linkify($content) {
return preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1" target="_blank">$1</a>', $content);
}
После создания плагина я делаю это:
Включите все файлы в папку плагина, где находится файл «Linkify.plugin.php». Наряду с этим есть еще один файл «Linkify.plugin.init.php», который содержит информацию о плагине, а также о том, где плагин будет работать (для этот пример, он будет работать внутри постов):
<?php
$name = 'Linkify Plugin';
$area_to_work_in = 'posts';
$function_name = 'linkify';
....
Затем внутри функции, которая используется для вывода содержимого сообщения, я делаю это: (код PHP)
foreach($plugins_for_post as $plugin) {
$story_content = $plugin['function_name']($story_content);
// $plugin['function_name'] is the name of the function, which is "linkify"// $story_content is the argument here
}
И это выводит контент с URL, который теперь является ссылкой.
Это хороший и эффективный подход? Может ли это вызвать какие-либо проблемы? Если у вас есть какие-либо предложения или идеи, пожалуйста, поделитесь, я был бы очень признателен.
Большое спасибо за чтение.
Задача ещё не решена.
Других решений пока нет …