Шаблоны проектирования PHP / JavaScript для веб-информационных систем

Я кодировал много лет и очень разочаровался. Я работаю над новой веб-службой, у которой также есть пользовательский интерфейс, и она будет разрабатываться с нуля.Он будет использовать некоторые компоненты с открытым исходным кодом, но в основном это новая вещь сама по себе.

Но вот моя проблема. Создание такой системы означает создание всех этих компонентов:

  • Бэкэнд PHP
  • Представления HTML
  • Стили CSS
  • Интерфейс JavaScript
  • Асинхронные соединения AJAX

Я хочу, чтобы все они следовали один и тот же «шаблон» в том смысле, что модуль в системе состоит из папки или набора файлов, включающих все эти компоненты внутри этого модуля.

Но мне трудно получить такую ​​архитектуру, чтобы она мне понравилась. Вот что у меня есть на данный момент:

  • Вся основная система более или менее написана на процедурном PHP. Это решает URL-адрес запроса, занимается кэшированием, ведением журнала и отладкой, а также загружает другие компоненты.
  • PHP при построении страницы загружает специфичные для модуля файлы javascript, файлы CSS, файлы HTML и другие компоненты на основе текущего модуля. Это означает, что каждый модуль является максимально легким и может быть расширен в зависимости от текущих потребностей модулей.
  • Система также включает компоненты ООП объектов (таких как «пользователи» или классы другого типа), которые могут использоваться в масштабах всей системы.
  • Система построена на принципах MVC, но без ООП.

Но я действительно чувствую себя грязным из-за того, что построил основную систему процедурным способом. Сначала я начал писать это в ООП, но быстро почувствовал головную боль из-за необходимости подогнать все под одну и ту же систему.Это был ООП, но он был тесно связан, что мне не нравилось, потому что, пока он был написан методом ООП, компоненты на самом деле не были настолько независимыми или с ними было просто сложно управлять.

Есть ли какие-то шаблоны или рекомендации, которым я мог бы следовать, чтобы получить лучший результат? Что мне нравится в нынешней системе, так это то, что я могу вызывать что угодно, предварительный рендеринг в PHP или HTML-представлениях, стили CSS, дополнительные функции Javascript и связь AJAX по запросу, сохраняя при этом удивительно маленькое пространство, но оно кажется грязным. Я даже использую глобальное соединение для подключения к основной базе данных (хотя это глобальный объект).

Есть идеи? Если бы это был всего лишь один язык, это не было бы проблемой, но попытка заставить все работать вместе - это немного головная боль.

Спасибо!

7
задан Visionary Software Solutions 10 October 2011 в 19:32
поделиться