Я думаю, что я опытный процедурный программист PHP. Я реализовал несколько крупных проектов. Теперь я хотел бы попробовать OOP PHP на меньшем (структура для импорта / экспорта БД + аутентификация пользователя). Поскольку я никогда не пробовал ООП в таком проекте, у меня проблема с дизайном объекта.
Я хотел бы реализовать инфраструктуру таким образом, мне просто нужно создать один экземпляр объекта для использования всей структуры. Я также хотел бы сохранить код хорошо организованным, поэтому я не буду применять только один класс для всех методов / свойств.
Как я могу разделить один большой класс на несколько меньших, чтобы их организовывать (в более php-файлах)?
Я думаю, что мне придется реализовать один базовый класс, а затем расширить его, используя другие. Но у меня будет много маленьких классов, а не больших.
Как бы вы решили эту проблему?
Надеюсь, я хорошо объяснил проблему.
Спасибо за любую помощь.
Я много лет писал и поддерживал огромные монолитные библиотеки, и я намного счастливее, так как я отошел от него. Возьмите мой совет: отмените свое приложение на небольшие классы, что, возможно, имеет смысл. Это хорошо для организации, а также для использования памяти (огромное определение класса PHP может съесть много ОЗУ, а ОЗУ – ограниченный ресурс в PHP-скрипте).
Используйте механизм автозагрузки PHP 5 для загрузки только тех классов, которые вам нужны в текущем контексте.
Я думаю, что организация Zend Framework организована и построена неплохо. Вы можете взглянуть на то, как они разрабатывали свои классы, и как они организовали огромное количество функциональных возможностей в рамках.
Что касается того, как организовать инструменты и вспомогательные объекты и библиотеки, я задал этот вопрос несколько недель назад и получил очень хорошие отзывы. На самом деле я все еще не читал.