Это действительно несколько вопросов, но здесь идет речь:
MVC
Для реализации MVC вам необходимо иметь четкое представление о том, за что отвечают разделы Model, View и Controller. Вы можете прочитать об этом для себя , но в этом случае:
- Модель должна содержать только код, который выполняет операции с файлами данных, то есть внутренние сценарии Perl
- Представлением будут только шаблоны HTML. В них не должна быть встроена логика PHP, кроме того, что необходимо для отображения страницы.
- Контроллером будет остальная часть приложения: части, которые соединяют интерфейс PHP с фоном Perl, и, возможно, сценарии Perl, которые опрашивают новые файлы.
Для каждого php, html или perl файла, который вы создаете, должно быть абсолютно ясно, к какому разделу он принадлежит, полностью. Никогда не путайте модель, представление или код контроллера в одном файле.
Не должно быть никаких причин, по которым вы не можете продолжать писать процедурно. Вам не обязательно нужна основа; Это может помочь вам расставить вещи по местам, но также может занять некоторое время, чтобы выучить.
MVC - это скорее разделение интересов, о котором вам нужно помнить. Хороший способ подумать об этом: «Может ли каждый из этих компонентов работать отдельно от других», например ::1023
- Можете ли вы написать «макетированный» (пример) файл данных, и чтобы сценарии Perl обрабатывали его без выполнения кода PHP?
- Можете ли вы запросить операцию у внешнего интерфейса и заставить ее доставить все параметры в одно место, готовые к подбору одной подпрограммы Perl, без запуска и кода Perl?
Вам не нужно беспокоиться о дублировании кода, если скрипты PHP и Perl делают совершенно разные вещи (PHP настраивает только пользовательские параметры и входные файлы, а Perl берет только эти параметры и файлы и выводит новые файлы. ).
Что касается иерархии папок, если вы не используете какой-либо существующий каркас, самое важное - это то, что он имеет смысл, является последовательным, и что вы документируете свои решения, например, в файле readme.
Уродливые URL
Вам не нужно помещать ваши php-файлы в любое конкретное место. Используйте правила переписывания Apache, чтобы потом сделать красивые URL-адреса. ( генератор правил перезаписи - см. Раздел «Файл переадресации 301»). Но хороший MVC-фреймворк решит это за вас.
Пользовательские плагины
Будьте осторожны, чтобы не оптимизировать слишком рано. Возможно, вы сможете самостоятельно разработать новые этапы предварительной / последующей обработки и просто поместить их в список для выбора пользователями.