PHP destruct - не почему не работает

156
18 октября 2018, 04:20

Есть класс

class X
    {
        function __construct()
        {
            $this->array = array();
        }
        function __destruct()
        {
            return $this->array;
        }
        function getAllData()
        {
            array_push($this->array, 'no_enter_data');
        }
    }

Вызываю функицю

$result = new X;
print_r($result->getAllData());

Но возвращает пустой массив почему не могу понять.

Answer 1

Если вы хотите увидеть результат тут - print_r($result->getAllData()); то нужно возвращать результат:

function getAllData()
        {
            array_push($this->array, 'no_enter_data');
            return $this->array;
        }

Если вы хотите получать при __destruct, то тут немного по другому.

Деструктор вызывается, но результат его работы не выводится, поэтому return бессмыслен. Надо тогда так:

class X {
    function __construct()
    {
        $this->array = array();
    }
    function __destruct()
    {
        print_r($this->array);
    }
    function getAllData()
    {
        array_push($this->array, 'no_enter_data');
    }
}
$result = new X;
$result->getAllData();

P.S. стоит учитывать что деструктор вызывается при разрушении класса. Обычно - в конце работы всего скрипта.

READ ALSO
Не могу получить Country и Code

Не могу получить Country и Code

Не могу получить данные Country и Code

181
Yii2 Authclient OAuth2 авторизация по средством отправки clientId и clientSecret в заголовке запроса

Yii2 Authclient OAuth2 авторизация по средством отправки clientId и clientSecret в заголовке запроса

При расширение проекта был разработан отдельный сервис на java, для аутентификации требуется зашифровать clientId и clientSecret в Base64 и отправить в заголовке...

173
Ошибка Unknown column 'extension' in 'where clause' [закрыт]

Ошибка Unknown column 'extension' in 'where clause' [закрыт]

Подскажите в чём проблема, пожалуйста

172
blogger post from php

blogger post from php

Помогите разобраться с blogger api :(Пытаюсь разместить пост из php - выдаёт ошибку Expected response code 200, got 401 User does not have permission to create new post or page

203