1. ООП в PHP 5. Вводная часть

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

Как ООП работало в PHP 4

В PHP 4 , несмотря на то, что ООП поддерживался, но он был еще очень сыроват для данного языка, главной особенностью было прожорливость ресурсов, так как объекты или экземпляры работали как копии, а не как ссылочные типы, как это сделано в Java или в C#, отсутствовала безопасное использование полей и методов.

Приведем пример:

class MyClass{

    var $field;

    function setField($variable) { this ->field = $variable; }
    function getField() { return  this ->field = $variable; }

} 
function setNewName($object, $name) 
{ 
    $object->setField($name); 
} 
$object = new MyClass(); 
$object ->setField("Вася"); 
setNewName($object, "Маша"); 
echo getField();//Выведет "Вася"

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

Что нового в PHP 5

Так как в PHP5 реализована уже зрелая модель ООП по сравнению с предыдущими версиями, то появились множество обновлений, в частности —  видимость, абстрактные и ненаследуемые (final) классы и методы, а также магические методы, интерфейсы, клонирование и контроль типов (typehinting). Теперь PHP работает с объектами как с ссылками, что означает, что каждая переменная хранит в себе ссылку на объект , а не его копию, что является большим преимуществом в плане снижения ресурсоемкости , быстродействия и построения крупных проектов. Об объектах и их особенностях мы еще поговорим в следующих уроках.

Вам также может понравиться

Об авторе WebSofter

Web - технологии

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...