Welcome to php club

PHP FAQ from PHPclub.ru: PHP5/ObjectDereference ...

Начало | Каталог | Изменения | НовыеКомментарии | Вам запрещён доступПользователи | Вам запрещён доступРегистрация | Вход:  Пароль:  

Разыменование объектов, возвращаемых функцией

Краткое описание

В PHP4 было невозможно разыменовывать объекты, возвращаемые функциями, и поэтому приходилось заводить временные переменные для использования свойств или вызова методов таких объектов. В PHP5 такое больше не нужно, т.к. поддерживается прямое разыменование.
Пример:

<?php
class Circle {
    function
draw() {
        echo
"Круг\n";
    }
}
        
class
Square {
    function
draw() {
        echo
"Квадрат\n";
    }
}

function
ShapeFactoryMethod($shape) {
    switch (
$shape) {
        case
"Круг": return new Circle();
        case
"Квадрат": return new Square();
    }
}

ShapeFactoryMethod("Круг")->draw();
ShapeFactoryMethod("Квадрат")->draw();
?>

Результат:

Проблемы с обратной совместимостью

Проблем с обратной совместимостью данное нововведение не имеет.


 
Комментариев нет. [Показать комментарии/форму]