Хорошие учебные источники для ООП PHP, кто-либо?

Многие люди используют пример Форм, но это - на самом деле опасное. Проблема возникает, когда Вы интуитивно решаете, что квадрат является подклассом прямоугольника.

Когда дело доходит до поведения, квадрат более ограничен, чем прямоугольник, повреждая замещаемость. Например, мы могли спросить прямоугольный объект изменить его высоту. Если квадрат является подклассом прямоугольника, который означает, что мы должны смочь спросить тот же квадрат. Однако изменение высоты квадрата означало бы не квадрат больше! Конечно, мы могли увеличить ширину соответственно, но это не то, что мы ожидали бы, когда мы должны были спросить объект заявленного прямоугольника типа, который является на самом деле квадратом внизу, для изменения его высоты.

Это звонило принцип замены Лисков , и необходимо знать о нем при выполнении любой серьезной разработки OO.

Квадраты, конечно, sub установил из прямоугольников вместо класса sub . Вот в чем разница между ориентированными на данные и ориентированными на поведение подходами.

Как Jon, я предпочитаю Потоки как пример. Не трудно объяснить, даже непрограммистам и его ориентированному на поведение cleary, избегая counter-intuitivity примера форм.

9
задан Codex73 31 July 2013 в 17:06
поделиться

6 ответов

Мне нравится Руководство PHP по ООП. Это по существу и есть много примеров.

11
ответ дан 4 December 2019 в 08:52
поделиться

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

PHP.net/oop

Имейте в виду, однако, что PHP ООП все еще находится в зачаточном состоянии, и, несомненно, будет много вещей которые сбивают с толку другие реализации ООП.

4
ответ дан 4 December 2019 в 08:52
поделиться

Это немного более продвинутая сторона ООП, так как это касается шаблонов проектирования, но мне очень нравится «Шаблоны архитектуры корпоративных приложений» Мартина Фаулера ( http://www.amazon. com / Patterns-Enterprise-Application-Architecture-Martin / dp / 0321127420 / ref = sr_1_1? ie = UTF8 & s = books & qid = 1255402272 & sr = 1-1 ). И вы никогда не ошибетесь с книгой шаблонов Банды четырех ( http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ )

В моделях обучения хорошо то, что они не зависят от языка. Изучите шаблон, используйте его (почти) на любом языке :)

2
ответ дан 4 December 2019 в 08:52
поделиться

Для запуска php лучше всего доступен phpmaual. Вы также можете попробовать http://w3schools.com Если вам нужны дополнительные ресурсы по концепции и примерам упс, вы можете перейти на http://www.phpclasses.org/ Здесь вы найдете несколько невероятных проектов php.

2
ответ дан 4 December 2019 в 08:52
поделиться

Поскольку он концептуален, а не зависит от языка, поищите любой хороший ресурс ООП на любом языке и попробуйте заставить его работать на PHP.

Посмотрите на такие концепции, как шаблоны дизайна, модульное тестирование и предметная область управляемая разработка, и вы откроете для себя много знаний ООП.

Начните использовать библиотеки, такие как Zend Framework и Doctrine PHP ORM в своих проектах PHP. Они объектно-ориентированы, и, используя их, вы разовьете лучшее понимание.

Также посетите phpPatterns и c2 wiki .

-Sam

1
ответ дан 4 December 2019 в 08:52
поделиться

На Lynda.com есть хороший видеокурс:

Lynda - PHP с MySQL Beyond the Basics

http://www.lynda.com/home/DisplayCourse.aspx?lpk2 = 653

4
ответ дан 4 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: