class init {
public function months($number){
$number = (int)$number;
$months = array('', 'Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек');
return $months[1];
}
}
[php] Как такое может быть?
есть некий код:
Код:
не погму понять в чем дело!!!! должно ведь выйти: Янв
вызываю функцию: init::months("Любой месяц");
Код:
$r = init::months(3);
echo "\n\n\n$r\n";
echo "\n\n\n$r\n";
Разве для статического вызова не нужно добавить static перед function?
Цитата: int
Код:
$r = init::months(3);
echo "\n\n\n$r\n";
echo "\n\n\n$r\n";
Разве для статического вызова не нужно добавить static перед function?
А так работает!
Очень хотелось бы посмотреть как именно ТС вызывает указанный метод, так сказать, воочию. И желательно вместе с тем, что этому предшествует.
Цитата: int
Разве для статического вызова не нужно добавить static перед function?
Да не обязательно. Главное E_STRICT не выводить в поток.
Цитата: int
Разве для статического вызова не нужно добавить static перед function?
до 5 версии включительно - не обязательно.
Автор, у тебя идёт вывод до вызова функции, так что пропусти её и смотри код дальше (ближе). С ней всё нормально.
Цитата: int
А кто-то ещё не на пятой? о_О
ты не поверишь. есть хостеры у которых MySQL 4.1 и РНР4 (или, что еще круче, РНР5.2.0.9 - например, в котором багов - мама не горюй). Могу показать например один из украинских банков, у которых на этой "пятой" версии крутится. ))) А им просто пох - их внутренний "фреймворк": простыня вызовов функций, идеальное пособие - Как не надо программировать процедурным стилем для идиотов - и чуваки на голубом глазу отвечают - используется РНР5 )))) А то что вызов PDO Firebird например завершается крахом - ну так "мы руками подключаемся" )))