Именно так мне сегодня ответила ТП Битрикса на сообщение о баге в обфускаторе Битрикса, который используется для демо-режима модулей маркетплейса. Суть в чём. В модуле был создан файл "include.php" содержащий только два символа "<?". По правилам написания PHP-скриптов это допустимо ( http://php.net/manual/ru/language.bas...hptags.php ). Файл include.php я оставил, чтобы формально соответствовать структуре модуля описанной здесь - http://dev.1c-bitrix.ru/learning/cour...ON_ID=2823 Сам же модуль работает по идеологии D7, все классы подрубаются автоматом. Я был удивлен, когда от клиентов начали приходить багрепорты с одним и тем же типом ошибки:
PHP Parse error: syntax error, unexpected '<' in /home/site/public_html/bitrix/modules/yeti.picloader/include.php on line 1
Там же нет кода! Только потом я сообразил, что дело не в коде модуля, а именно в обфускаторе. Попробовал заменить на код:
<?php
// do nothing
?>
И действительно. Все заработало как надо. Написал об ошибке в саппорт, на что был получен ответ, вынесенный в заголовок. Но как так-то? Ведь даже в ядре используются обычные тэги - http://i.imgur.com/o1eEqqL.png . Да и не в форме открывающего тэга дело, а в наличии закрывающего. Всё это навевает сомнения в компетентности техподдержки, либо они просто не хотят трогать код обфускатора. По моему убеждению, обфускатор должен съедать любой синтаксис описанный в документации. В общем, я к чему это. Не я один напоролся на этот баг. Решение от коллег DEFA Tools так же при установке в демо-режиме валит сайт. Я им об этом написал. Советую и вам проверить свои решения на установку в демо-режиме, если у вас в include.php нет закрывающего тэга.
Тоже замечал за тех.поддержкой нежелание разбираться в проблеме или ошибках продукта, мол, фича такая и досвидос. Ну а нам остается мотать на ус особенности системы и делиться опытом с коллегами ^_^ Спасибо, за статью!
Цупко Игорь, Битрикс не особо следует PSR-у. В технических требованиях к настройкам сервера указано следующее http://i.imgur.com/v2FgrDl.png http://partners.1c-bitrix.ru/sales/co...ments-link То есть, согласно требованиям Битрикса, код, обрамленный обычными тэгами, должен работать так же как код, обрамленный тэгами короткими. А вот дальше уже дело личное: использовать PSR-1 или нет. Дело вкуса.
Прошу прощения, был неправ по поводу стандартов. В "Мониторе качества" написано:
При создании собственных компонентов и модулей веб-проекта настоятельно рекомендуется использовать согласованный со всеми разработчиками стандарт кодирования ("codestyle").Правило простое - стандарт кодирования в любой форме должен быть и ему следуют все разработчики. В качестве отправной точки можно взять рекомендации Bitrix Framework , целесообразно также обратить внимание на стандарт кодирования ZendFramework и другие.
скрипт должен начинаться с <?php и ничем не заканчиваться, если это скрипт а не вставка скрипта в файл, многие парсеры и обфускаторы не проглотят левые пробелы после кода что то типа того:
ну тут да.. в пустом файле смысла то мало (триал режим же, надо кудато вынести секретке)... Я просто обычно в модулях делаю этот файл пустым (он просто в обязательном должен присутствовать).
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».