Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: В чем разница между обычным методом и статичным?
В итоге работает и первый вывод и второй. Я думал что такой запрос MyClass::helloWorld(); будет работать только если объявить метод как статический, но нет, все итак работает. Тогда зачем вообще нужны эти статические методы?
Мелкий
Отправлено: 22 Марта, 2012 - 20:04:46
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Включите вывод ошибок.
Второй вариант вызова некорректен и генерирует предупреждение об этом.
К неинициализированным переменным обращаться тоже нельзя, но при выключенных E_NOTICE зачастую создаётся видимость нормальной работы.
----- PostgreSQL DBA
DelphinPRO
Отправлено: 22 Марта, 2012 - 20:26:27
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
статический метод - это метод класса
обычный - метод объекта класса
----- Чем больше узнаю, тем больше я не знаю.
Bio man
Отправлено: 22 Марта, 2012 - 20:26:28
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Мелкий пишет:
Второй вариант вызова некорректен и генерирует предупреждение об этом.
Корректен и ничего не генерирует.
DelphinPRO
Отправлено: 22 Марта, 2012 - 20:28:31
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Bio man пишет:
Корректен и ничего не генерирует.
PHP 5.3.9:
Strict Standards: Non-static method MyClass::helloWorld() should not be called statically in W:\html\verstka.local\www\test\index1.php on line 16
Hello, world
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.