это то же что и фигурные скобки? Код (PHP): <?php if ($page['header']): ?> <div class="header"> <?php print render($page['header']); ?> </div> <?php endif; ?> PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Это "альтернативный синтаксис" операторов PHP http://php.net/manual/ru/control-structures.alternative-syntax используется, как правило, только там, где идет мешанина из html и php. то есть в "представлении". Добавлено спустя 8 минут 36 секунд: Заголовок темы "Что означает символ : в php?" крайне *уевый. Исправляю его на соответствующий самому вопросу. Что касается символа ":", то используется во множестве разных контекстов: в обращении к статическим свойствам/методам, в метках, в тернарном операторе. А твой случай это т.н. "альтернативный синтаксис".
Я бы сказал, что это альтернативно одаренный синтаксис. Потому что даже в представлении он, имхо, не нужен, является пережитком темных веков PHP, оставлен для хоть какой-то совместимости и все усложняет. Смешивать bash-style с C-style - грешно. Привет, разработчики Битрикса, к вам в первую очередь относится, да!
Ну кому как, у меня в представлениях он постоянно. Удобнее же, чем скобочки. В других частях иногда использую для if (0), когда надо часть кода исключить временно в отладочных целях.
if (0) удобнее, потому что его всегда можно поправить на if (1)аи это быстрее, чем убирать комментарий, да ещё и else приписать и переключать два варианта алгоритма. Это в одной книжке по C я как-то прочитал, только там использовался препроцессор, естественно.
в эклипсе/нетбинсе ctrl+shift+c включают/выключают строки кода через комментирование но да, сам люблю if(0). не вижу ничего плохого если программист видит свой алгоритм и допускает отключение блока кода через модификацию одного символа. кому неудобно - пусть не пользуется. демократия же.
Дык никто никого не заставляет Зато взвесили все "за" и "против", чтобы каждый мог сформировать точку зрения. От меня за /**/ - это, как ни крути именно комментарий. Кроме того, что он код выпиливает из подсветки, оно может быть вставлено внутри выражений, к примеру. Это редко когда может понадобиться, но всяко бывает. Когда по чужому коду бежишь глазами, комментарии видно сразу, а вот if(0) бегло можно не заметить, а когда заметишь - нужно искать, где он закрывается. И, кроме прочего, закомментированный код выпадает из фазы интерпретации. if(0) же выпадет только, если используются какие-нибудь оптимизаторы перед оп-кэшем, которым простительно жевать страницу на холодный кэш в 5 раз дольше, чем "чистая отработка", с тем, чтобы потом остальные запросы выполнялись в 10 раз быстрее. У меня, например, в коде, постепенно скапливается много закомменченного кода, который чистится периодически только. После любого рефакторинга остается груда мусора, в котором, однако, могут быть полезные вещи. Если бы это все было обернуто в if-ы, код был бы избыточен. Да, это спички, но даже при банальной калькуляции строк в файлах, значения будут не правильные, потому что комментарии калькулятор игнорирует, а вот заглушки - нет.
еще раз говорю - свой код знать надо. для команды другие договоренности должны быть. я бы даже сказал что в таком случае как раз ctrl+shift+c с его построчным комментированием кода куда нагляднее чем /**/ и if(0) - ты в дельте версирования видишь весь блок строк. а если мы говорим о том что конкретно взятый разработчик на какое-то время хочет выключить блок кода - пусть делает как удобно. в разных случаях будет разный подход.