keyown = 0
4th December 2015  /  12 11

ООП в PHP где нужен?

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

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

Решается это весьма просто. Создается класс Analyzer, либо интерфейс IAnalyzer, от которого унаследуем класс MyAnalyzer, в котором реализуем логику анализа первого набора данных, и RegionAnalyzer, в котором реализуем логику анализа второго набора данных. Контроллер соответственно, чистится от мусора, бизнес-логика выносится в отдельные бизнес-единицы - классы MyAnalyzer, RegionAnalyzer. Таким образом, контроллеру нужно теперь просто сказать, какой анализатор вызывать, и контроллер вызовет его, передав входящий набор данных. Этим самым у нас получилась в каком то роде модульность, думаю, это можно назвать инкапсуляцией данных, т.к. мы скрыли всю логику аналитики). Теперь другому разработчику достаточно реализовать какой-нибудь третий класс, и не вникать в логику контроллера, чтобы этот его класс работал так-же, как и первые два.


А для манипуляции данными, ООП тоже удобно очень тоже.

Например, у нас есть класс стол (Table), у него есть набор параметров - длина, высота. Если бы вы использовали массивы, оно бы у вас было описано примерно так:

$table = array(
'width' => 10,
'height' => 10,
'length' => 10,
);



Link

WWW+Programming





PHP
Studying and teaching
Geo:Russia & other NIS

Work out
Вернуться к рассматриваемой записи