Производится ли замена index.php при обновлении webasyst
Мне необходимо реализовать свою собственную систему роутинга для некоторых задач. Для этого я использую свой скрипт prerouter.php, который подключается в начале главного файла index.php - файле, и занимается своими делами по программному преобразованию URL.
Вопрос вот в чем: может ли файл index.php заменяться при обновлении? Спрашиваю потому, что частенько при обновлении webasyst многие файлы оказываются затёрты своими старыми (исходными) версиями. К примеру, файл cli.php, который я немного допилил для того, чтобы добавить возможность отладочного выполнения из браузера, постоянно приходится "откатывать" после очередного обновления, которое ничего нового в него не вносит, но при этом заменяет стандартной версией.
До сих пор файл index.php ещё ни разу не затирался при обновлении, но может ли такое произойти теоретически? Какова ваша политика относительно обновления этого файла? Может ли он быть затёрт, или же вы его в принципе не трогаете?
В случае, если файл index.php склонен к замене, мне придётся пойти другим путём - создать какой-нибудь alternative-index.php, который будет подключать в себя стандартный index.php, и настроить веб-сервер, чтобы он открывал alternative-index.php вместо index.php.
P.S. Что касается оффтопа, "зачем собственная система роутинга", ответ прост: например, чтобы вместо thumb.php для генерации отсутствующих превьюшек, веб-сервер мог делать запросы непосредственно к index.php, а также, чтобы сделать единую систему управления SEO-редиректами (так как при переходе со старого сайта нужно полностью "утилизировать" старые ссылки через 301 редирект, при этом, управлять этим исключительно из одного места, а не из каждого приложения отдельно)
1 ответ
Любой системный файл может быть перезаписан при обновлении. Единственная причина по которой вы ещё не столкнулись с обновлением какого-либо файла в том что в этом не возникало необходимости, никаких ограничений у разработчиков на этот счёт нет.
Чтобы создать действительно стабильную и гибкую систему мы рекомендуем воздержаться от любых правок системных файлов и решать все необходимые задачи путём сознания собственных плагинов и приложений.
https://developers.webasyst.ru/cookbook/plugins/