2016-08-10 6 views
2

Я пытаюсь улучшить свой стиль кодирования, поэтому я начинаю использовать PHP Code Sniffer для соблюдения стандартов. Я смущен этим правилом «PEAR.Files.IncludingFile.UseRequireOnce», что не так на include_once? Является ли это серьезным нарушением стандарта, чтобы подавить этот нюх?PHP Code Sniffer объяснение правила PEAR.Files.IncludingFile.UseRequireOnce

Thaks для ваших ответов и советов.

ответ

1

Нет «правильного» ответа, это то, что вы хотите, чтобы ваши стандарты кодирования были.

Лично я использовал бы правило, которое помечено как «require_once» как неправильное, так как оно точно такое же, как include_once, без возможности проверить результат на наличие ошибок. Неустранимая ошибка из-за того, что класс не найден или фатальная ошибка, потому что require_once не удалось и не имеет шансов на изящное восстановление в PHP.

0

Цитирование another answer: enter image description here

Так что я предпочитаю require_once, потому что я знаю, когда файл отсутствует. Также вы можете использовать file_exists(), если загрузка файла не является обязательной, чтобы ее можно было контролировать.

+1

Я думаю, это зависит от ситуации. Я предпочитаю включать, потому что это не смертельно. В любом случае вопрос был о нарушении стандарта кодирования PEAR. Как я считаю, теперь это правило существует, потому что в perferct world everthing работают отлично, поэтому наш require/include не подводит. Когда это требует силы, вы можете исправить это больше, чем включать, это более строго :-) :-) – ETNyx

+0

Мое последнее замечание не является фатальным ни :). Наличие 'file_exists()' warp вокруг 'require_once' в коде предотвращает такой вопрос, как этот, поскольку знание воплощается в коде, а не в архивах stackoverflow. Btw, просто интересно. Вы начали использовать CodeSniffer и PHP-CS-Fixer? –

+1

Просто CodeSniffer, это часть непрерывной интеграции (CI), даже для небольшого проекта, где phpcs - это только одно задание в CI :-D Как-то исправление меня не устраивает, поскольку он не может исправить все ошибки и предупреждения, которые я вызываю: -D , – ETNyx