статический вызов vs. динамический

sunyang

Новичок
Никак не мойму что лучше в плане этики и религии - статический вызов или динамический (кроме того как доступность переменной $this)

например:


PHP:
Class Example
 {
  public function example_function()
  {
   echo "example code";
  }
 }

Какое из следующих будет лучше с точки зрения производительности и логичности?
1.

PHP:
Example::example_function();
2.

PHP:
$example = new Example();
$example->example_function();
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Никак не мойму что лучше в плане этики и религии - статический вызов или динамический (кроме того как доступность переменной $this)

Какое из следующих будет лучше с точки зрения производительности и логичности?
Одинаково, в твоем примере и то, и то - не ООП.
 

Yaponchick

Новичок
Я бы подумал о такой фразе: При возврате статических данных, религия советует использовать статический метод.
 

С.

Продвинутый новичок
Я бы подумал о такой фразе: При возврате статических данных, религия советует использовать статический метод.
Какая глупость. Если бы там вместо echo "example code"; стояло echo time(); то надо было бы вызывать динамическики?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Как когда-то сказал мне один умный человек:

"Не ... мозги, работай! Пиши код! =)"
 

Тугай

Новичок
В плане этикета - не этично вызывать не статически объявленный метод статическим вызовом. :)

В плане религии, PHP - многоконфессиональный. PHP поддерживает все стили программирования: структурное, ооп, функциональное и мета.
Нужно ли подражть яве и писать в "структурном" стиле через статичексие вызовы ? Скорее да, чем нет. :)
 

С.

Продвинутый новичок
Какое из следующих будет лучше с точки зрения производительности и логичности?
1.
2.
Что серьезно, вот так нет даже догадок, как лучше и логичнее? Одна строка кода или две? Создавать ненужный объект или не создавать?
 

Vladson

Сильнобухер
WMix прав. В данном случае тупо echo и никаких там методов. В другом примере возможно было бы лучше new Example, а в ещё каком-то другом Example::example_function

Тут не бывает "лучше" или "хуже", тут есть "к месту" и "не к месту"

(500 сильный двигатель от феррари не будет работать лучше в грузовике, и 500 сильный дизельный от тягача в феррари будет бредом)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
В плане этикета - не этично вызывать не статически объявленный метод статическим вызовом.
Да? А как же Strict standards? Вылетит ошибка при обычном вызове нестатического метода через <::>
 
Сверху