Основная идея заключается в поиске дублирующего кода, поместить его в отдельный модуль/класс/файл и использовать его по возможности. Это, как вы могли бы сделать это:
Разбить код каждого приложения в этих часто используемых кусков:
- с видом на слой, пользовательский интерфейс. (HTML, JavaScript, CSS, Flash)
- уровень бизнес-логики, проверки достоверности, рабочий процесс и т. Д. (PHP)
- уровень данных, хранение и извлечение данных. (PHP, База данных)
Изучите, действительно ли каждый слой отличается от других или может использоваться совместно. Стремитесь к совместной бизнес-логике и уровням данных. В идеале вы создаете приложения, которые в основном работают одинаково, но имеют только отдельный пользовательский интерфейс (скин).
Объедините дублированные слои в единую реализацию и объедините их со специфическими скинами. Итак, для 3-х форумов у вас есть 1 слой данных, 1 уровень бизнес-логики и 3 пользовательских интерфейса.
Второй способ объединения кода может быть выполнен, если каждое приложение использует разные методы для определенного уровня.
Вы должны искать способы использования одних и тех же фреймворков для слоя в приложениях. Например, вы можете решить всегда использовать PDO для слоя данных. Это сокращает время для создания следующего приложения, потому что вам не нужно изучать новые методы для каждого приложения.
Вы можете обнаружить, что части кода для слоя в одном приложении одинаковы на этом уровне во втором приложении. Поместите этот код в отдельный модуль, который вы используете во всех приложениях.
Последнее предложение, если вы еще этого не сделали, принять решение о наборе стандартов кодирования для каждого метода, с соглашениями об именах, макете файлов, используемых шаблонах и т. Д. Это облегчает чтение и понимание разработчиком код, написанный коллегой, и увеличивает изменение кода поиска для повторного использования.
Ahh ...который вам нужен. Заманчивая, но далеко цель. Многому научитесь и тренируйтесь, что вам нужно. – Mchl
Какую версию PHP вы используете? Если $ version> = 5, вы можете увеличить свою производительность за счет инкапсуляции функциональности в классы и организовать эти классы в разные (псевдо) пространства имен. Посмотрите, как Zend делает это и копирует его. http://kbs.kimbs.cn/blog/list/post/24/title/zend-framework-coding-standards-for-php-naming-conventions – softcr
да его выше php 5.0 :) –