Intereting Posts
Laravel, вам нужно указать путь к файлу для хранения семени POST 405 (метод не допускается) при попытке отправить запрос AJAX – Laravel 4 Неявное преобразование типов для классов PHP? facebook $ facebook-> getSignedRequest (); ошибка вставить запрос с использованием приема петли foreach. Ошибка неактивности: вызов функции-члена execute () в булевом Как включить JQuery в нижний колонтитул WordPress? Curl в разных версиях PHP: один работает, другой – нет Как сохранить данные сеанса в таблице без получения истекшего сеанса? Значение приращения в запросе обновления mysql передовая практика для разработки веб-страницы для мобильного телефона PHP: documentElement-> предупреждение childNodes Как создать глобальный поиск на моем сайте Подпись MAC, найденная в HTTP-запросе, не совпадает с любой вычисляемой интеграцией azure подписи с использованием php Убедитесь, что значение диапазона не перекрывается с существующими диапазонами Карты Google – панорамирование и масштабирование по областям – маркеры не появляются при увеличении или панорамировании – ПОМОЩЬ!

PHP | Почему я должен использовать статическую / приватную статическую функцию вместо функции public / private?

Мне просто интересно, каковы преимущества использования public static function или private static function вместо простой public function или private function ?

Обычные методы (обычно называемые методами экземпляра ) вызываются в экземпляре класса, в котором они определены. Метод всегда будет иметь доступ к его объекту через $this , и поэтому он может работать с данными, переносимыми этим объектом (и даже изменять его). Это основной аспект объектно-ориентированного программирования, и именно это делает класс более чем просто связкой данных.

С другой стороны, вызовы статическим методам не связаны с конкретным объектом. Они ведут себя как обычные функции в этом отношении; действительно, единственное различие заключается в том, что они могут быть выделены private и также иметь доступ к частным методам и переменным в экземплярах собственного класса. Статические функции – это просто расширение процедурного программирования.

Например, метод объекта вызывается для объекта:

 $object = new MyClass(); $result = $object->myInstanceMethod(); 

Статический метод вызывается для самого класса:

 $result = MyClass::myStaticMethod();