Форкинг открытого исходного кода PHP, стратегия загрузчика классов проекта - PullRequest
1 голос
/ 01 ноября 2008

Я искал хороший инструмент PHP ORM для использования, и недавно я нашел хороший класс ORM в Кохане. У него довольно хорошая и простая реализация ORM. Проблема в том, что код не может быть повторно использован вне платформы Kohana без переписывания / рефакторинга. Он опирается на загрузчик классов Kohana и различные стратегии загрузки фреймворка, чтобы работать даже в первую очередь. Кроме того, необходимые классы не упакованы в один каталог зависимостей или даже в несколько каталогов.

Когда я сделаю это переписывание, я намереваюсь переиздать код через sourceforge или что-то в этом роде, и эти ребята, конечно, могут использовать его, если захотят. Итак, я должен просто упаковать необходимый набор файлов в один каталог и заставить соответствующие классы делать require_once для любых зависимых классов, и 2 если я буду придерживаться исходных имен классов, которые зависят от проекта (например, Kohana_exception), даже если это в значительной степени не связанный с проектом Kohana в целом?

Второй вариант - написать еще один загрузчик классов, который является упрощенной версией загрузчика классов Kohana Framework и заботится только о материалах, связанных с ORM ...

1 Ответ

5 голосов
/ 01 ноября 2008

Если вы думаете, что то, что вы делаете, станет заметным улучшением проекта Kohana, вы должны внести свои изменения и представить исправление для рассмотрения сопровождающими проекта. Вы, вероятно, не первый человек, который оценит часть их фреймворка, и если вы разберетесь с компонентами, из-за которых их фреймворк будет разбит на мелкие кусочки, вы можете помочь, отправив исправление (хотя это потребует гораздо больше времени с вашей стороны на разработку).

Похоже, вы извлекаете часть их структуры для самостоятельного использования, так что это совсем не похоже на то, что вы разветвляетесь, хотя я могу представить, что удаление всех этих зависимостей может показаться вилкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...