Обновить
0
Леонид@leosun

Пользователь

1
Подписчики
Отправить сообщение
Ну как знаете, но по характеру предлагаемой ссылки, это никак не связано с официальными фирмами, а просто разводка, либо пробивают рабочие ящики для спама, либо просто пробный шар новых спаммеров, это чистой воды развод.
Читайте внимательно пост там обьясняется почему в UNIX ООП не распространет, почитайте Эрик. С. Реймонд. Искусство программирования для UNIX там об этом тоже говориться, покажите реально удачный пример применения ООП в PHP, и воздержитесь пожалуйста от мата, очень не красиво получается.
Одна из серьезных проблем ООП в PHP 5 уже была озвучена. Это отсутствие модификатора наследования.

Отсутствие возможности множественного наследования.

Конструктор базового класса не вызывается по умолчанию из конструктора наследника.

Следствием отсутствия строгой типизации является отсутствие возможности перегрузки функций.

В PHP 5 есть возможность указать тип аргумента функции (только для классов и массивов). Если переданный аргумент не будет соответствовать требуемому типу, возникнет ошибка и функция вызвана не будет.

Отсутствие нормального определения виртуальных свойств и методов класса (свойств, которые имеют геттеры и сеттеры).


Открытость классов.

Смешение статических и нестатических методов и свойств.

Объектно-ориентированные языки поддерживают создание структур с большим количеством связующего кода и сложными уровнями. Это может оказаться полезным в случае, если предметная область является действительно сложной и требует множества абстракций, и вместе с тем такой подход может обернуться неприятностями, если программисты реализуют простые вещи сложными способами, просто потому, что им известны эти способы и они умеют ими пользоваться.
Эрик. С. Реймонд. Искусство программирования для UNIX.
ООП применяется для организации очень сложных проектов - если его применять к простым поектам (это подавляющее большинство Web-проектов) ничего, кроме того, что простой проект превратиться в сложный не произойдёт. Применяются эти конструкции в очень сложных проектах, когда от базового класса до конечного - 10 иерархий наследования, т.е. 10 уровней абстракций

кварк
ядро
атом
молекула
супермолекула
фермент
клетка
орган
организм
социальная группа

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

ООП в PHP - это копия объектно-ориентированной модели Java, он просто скопирован и всё, а сам язык во многом копирует Perl - а это противоречивые технологии. ООП введён для снижения сложности монолитных графических программ и библиотек, а Perl и PHP для снижения сложности CLI-интерфесных прогрмм (интерфейс командной строки). UNIX и ООП - это несовестимые вещи, первый преследует разделеление сложности на уровне мелких взаимодействующих программ, каждая из которых выполняет свои цели, а второй разделение монолитных программ и библиотек, больше характерных для графического интерфейса, принятого в среде Windows и Macintosh.

Я могу привести 1000 примеров удачного применения ООП в Windows, но почти ни одного в PHP-программировании - философия разная...
А нельзя сделать это функциями? И в них заложить 90% кода? Вот в С++ мне ООП очень нравиться, и я вижу смысл его использовать, в PHP уж простите в 90% лично мне хватает модульного подхода, ну ненравиться мне реализация ООП в нем.
Советы очень неплохие,
насчет этого не уверен тоже
# Методы в производных классах работают быстрее, чем они же, определённые в базовом классе.

А так все супер, а насчет ООП - какой смысл делать ОО например скрипт который забирает тИЦ с Яндекса? Вещь одноразовая - написал и забыл, ООП хорошо использовать в больших проектах, для маленьких скриптов это просто глупо будет и все, достаточно модульного подхода (время паскаля еще не прошло) =)

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Директор по маркетингу, Маркетинговый аналитик
Ведущий
Git
Python
Docker
MySQL
Nginx
PHP
Redis
Yii framework
CMS «1С-Битрикс»