Новый в ООП в PHP вопрос об определении классов - PullRequest
6 голосов
/ 11 февраля 2011

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

В настоящее время я делаю списки классов.Наша система предназначена для управления автошколами, поэтому у нас есть школа, инструкторы, ученики и уроки, которые, как я вижу, будут объектами и, следовательно, классами.Мой вопрос связан с тем, что у нас есть одна школа, но много инструкторов, учеников и уроков, поэтому при создании программы нам нужно будет отображать списки этих объектов.Следовательно, будет ли список любого из них рассматриваться как отдельный класс или когда дело доходит до программирования, будет необходимо создать экземпляр для каждого преподавателя, ученика и урока.Или я упускаю что-то фундаментальное в разработке системы ООП.

Как я уже сказал, просто работаю над ООП, поэтому, пожалуйста, будьте осторожны со мной.

Большое спасибо, Колин


Спасибо всем за комментарии.Чем больше я думаю об этом, тем больше понимаю, по крайней мере, для себя.что список чего-то в моей системе является объектом.Я предполагаю, что каждый элемент в списке будет формой, как и сейчас, поэтому любой выбор элемента приведет к запуску нового сценария, который создаст новый экземпляр Pupil, Instructor и т. Д. Вместе с выполнением методов дляновый экземпляр.

Ответы [ 3 ]

3 голосов
/ 12 февраля 2011

я говорю: забудь рамки .... У каждого свои нюансы.Некоторые даже не пытаются правильно следовать MVC (Symfony), а у многих есть очень противоречивые учебные пособия, благодаря частым обновлениям версий (Zend), которые в противном случае дают положительный результат. Сначала вы должны получить реальное базовое представление о концепции ООП, а затем узнать особенности структуры по вашему выбору, когда и есливы решили пойти по этому пути.Несмотря на то, что я сертифицирован по Zend, ежедневно работаю в Symfony и довольно часто использую CI, я все же лично предпочитаю кататься самостоятельно, особенно при работе в приложениях с высокой степенью адаптации.

Это довольно хорошо работало для меня довольно долгое времяназад: http://www.killerphp.com/tutorials/object-oriented-php/

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

2 голосов
/ 11 февраля 2011

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

2 голосов
/ 11 февраля 2011

Вы можете сделать это в любом случае.У каждого свои плюсы и минусы.Если вы просто хотите получить список объектов, вы можете просто создать их массив.Это будет работать нормально.

Помните, что в одном классе вы можете иметь объекты другого класса.Таким образом, ваша школа может иметь массив преподавателей, массив учеников и массив уроков.

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

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