Модель ООП PHP Framework - PullRequest
       8

Модель ООП PHP Framework

1 голос
/ 13 января 2010

Я думаю, что я опытный программист PHP. Я реализовал несколько крупных проектов. Теперь я хотел бы попробовать ООП PHP на меньшем (фреймворк для импорта / экспорта БД + аутентификация пользователя). Так как я никогда не пробовал ООП в таком проекте, у меня есть проблема с объектным дизайном.

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

Как я мог разделить один большой класс на несколько меньших, чтобы сохранить их организованность (в большем количестве php-файлов)?

Я думаю, мне придется реализовать один базовый класс, а затем расширить его, используя другие. Но тогда у меня будет много маленьких классов, а не больших.

Как бы вы решили эту проблему?

Надеюсь, я хорошо объяснил проблему.

Спасибо за любую помощь.

1 Ответ

7 голосов
/ 13 января 2010

Я писал и обслуживал огромные монолитные библиотеки в течение многих лет, и я намного счастливее, так как я отошел от этого. Примите мой совет: разбейте ваше приложение на небольшие классы, насколько это возможно. Это хорошо для организации, а также для использования памяти (огромное определение класса PHP может потреблять много оперативной памяти, а оперативная память является ограниченным ресурсом в сценарии PHP).

Используйте механизм PHP 5 с автозагрузкой для загрузки только тех классов, которые вам нужны в текущем контексте.

Я думаю, что способ Zend Framework организован и построен довольно хорошо. Возможно, вы захотите взглянуть на то, как они разработали свои классы и как они организовали огромное количество функциональных возможностей в фреймворке.

Что касается организации инструментов, вспомогательных объектов и библиотек, я задал этот вопрос несколько недель назад и получил очень хорошие отзывы. Вообще-то, я еще не дочитал до конца.

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