Для чего используется static в операторе :: ?
return static::Find($id);
Ответ
Ключевое слово static используется для позднего статического связывания, т.е. в классах унаследованных от этого можно будет определить свой статический метод Find() и будет вызываться именно он, а не метод текущего класса. Если вы вместо static укажите self, то будет вызван статический метод Find() текущего класса, даже если в унаследованных классах вы определите собственные статические методы Find().
Так как статические методы принадлежат не объектам, а классам - приходится разруливать ситуацию с их переопределением при помощи отдельных ключевых слов.
Комментариев нет:
Отправить комментарий