Смотрите Объекты класса в php - PullRequest
0 голосов
/ 27 августа 2011

Как я могу увидеть, сколько объектов класса загружено в php. Также загружаются ли объекты за один сеанс на сервере? Или можно отслеживать объекты из других сеансов также на стороне сервера?

На самом деле я в замешательстве. Когда объект загружается с помощью PHP, где он находится? Это в браузере? Это в сеансе и истекает, как только истекает сеанс?

Ответы [ 4 ]

0 голосов
/ 28 августа 2011

Поможет ли это?

<?php

class Hello {
    public function __construct() {
    }
}

$hello = new Hello;
$hi = new Hello;

$i = 0;

foreach (get_defined_vars() as $key => $value) {
    if (is_object($value) && get_class($value) == 'Hello')
        $i++;
}

echo 'There are ' . $i . ' instances of class Hello';
0 голосов
/ 27 августа 2011

Объект - это просто сложная переменная. Он может содержать несколько простых типов вместе и может иметь функции.

Несмотря на многочисленные различия между простыми типами и объектами, объекты - это просто переменные. Объекты не передаются через сеансы и не отправляются в браузеры больше, чем простые целые числа или строки.

0 голосов
/ 27 августа 2011

Объект существует только на сервере, в памяти и только на время существования сценария, если только он не сохранен в пользовательском $_SESSION.Даже после сохранения он перестает быть объектом и становится сериализованной строкой.Его можно снова преобразовать в объект в том же сеансе или в последующем сеансе.

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

0 голосов
/ 27 августа 2011

Как я могу увидеть, сколько объектов класса загружено в php.

Я не думаю, что есть способ сделать это, если вы не ведете счет в классе.Конструктор.

Когда объект загружается с PHP, где он находится?Это в браузере?Он находится в сеансе и истекает, как только истекает сеанс?

Он находится в памяти, которую выделяет процесс PHP, который вызывается для этого одного запроса.Срок его действия истекает, как только текущий запрос завершен или завершен (или был unset()).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...