Есть ли накладные расходы на использование объекта класса PHP против метода статического класса? - PullRequest
3 голосов
/ 22 января 2010

Я хочу знать, есть ли дополнительные затраты на использование объекта в PHP вместо статического метода, основанного на моих примерах ниже?

Объект Sesseion из класса Session

$session = new Session;
$session->set(user_id, $uswer_id); //set session var
$session->get(user_id);            // get session var

VS


Статические методы из класса Session

Session::set(user_id, $uswer_id); //set session var
Session::get(user_id);            // get session var

Ответы [ 3 ]

5 голосов
/ 22 января 2010

Вы можете проверить использование памяти с помощью memory_get_usage(). Я бы предположил, что статические классы используют меньше памяти. Но разница, вероятно, незначительна. Не имея доступа к вашему проекту, я мог бы только посоветовать вам настроить собственный небольшой тест, используя вышеупомянутую функцию, чтобы увидеть, в чем дело.

2 голосов
/ 22 января 2010

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

Мое мнение, что вы должны смотреть на то, что работает наиболее удобно. Этот вид оптимизации в основном микрооптимизации

1 голос
/ 22 января 2010

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

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

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