Поговорим о static?

Всем привет!

Хотелось бы узнать от более опытных программистов, область (где , как и почему) применения статических переменных,
Свойств, методов. И использовании полностью статических объектов.

Например, зачем делать так
$var = new myObject();
$var- >myMethod();


Когда гораздо проще сделать так:
MyObject::myMethod();

Считаю, что ответы на данный вопрос будут интересены и полезны, многим начинающим программистам.

Так же будут полезны ссылки на ресурсы, где данная тема, рассматривается не на абстрактных и бесполезных примерах, вроде :
static $counter = 0;

Заранее всех благодарю!
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
@l4m3r

Когда гораздо проще сделать так:
MyObject::myMethod();


Если myMethod не влияет на внутреннее состояние объекта (изменяет members) - то так и надо делать (static).
Пример статических:
User::getStatusList() -- возвращает список возможных статусов для всех пользователей
User::findById() -- ищёт в базе по ID и возвращает нового пользователя

Пример нестатических:
$user->setName('xxx'); мы работаем только с текущим пользователем
$user->delete() мы работаем только с текущим пользователем
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы