PHP Code Sniffer и верблюжьи кепки

Я только начал использовать Code Sniffer для очистки своего кода.

Я обнаружил, что Code Sniffer перехватывает имена встроенных функций php как ошибки. Например:

в строке if($mysqli->connect_error === true) { я получаю сообщение о том, что:

Переменная «connect_error» имеет недопустимый формат верблюжьих шапок.

Я решил использовать стандарт Zend, так как он показывает много точек для очистки и хотел бы использовать его в будущем.

Так вот вопрос - как вы к этому относитесь? - игнорировать эти ошибки - исправить сниффер кода php, чтобы он игнорировал имена встроенных функций php - использовать другой стандарт? - что-нибудь еще?

Спасибо за ваши предложения!

Андрюс


person bolshas    schedule 07.01.2013    source источник
comment
похоже, что любой из ваших вариантов является жизнеспособным. вам просто нужно решить.   -  person nathan hayfield    schedule 07.01.2013
comment
Это опечатка › вместо -› ???   -  person David Houde    schedule 07.01.2013


Ответы (2)


Это связано с тем, что стандарт Zend неполный и редко обновляется. Стандарт Zend внутри PHP_CodeSniffer на самом деле вовсе не является полным стандартом. Это просто набор сниффов, написанных (давно) некоторыми людьми, работающими в Zend.

Если вы хотите начать чистить свой код, я предлагаю начать со стандартов PEAR или PSR2. PEAR довольно зрелый, в то время как PSR2 очень новый, но оба помогут вам получить хороший чистый код. Стандарт PEAR поможет обеспечить согласованность комментариев к документам, а PSR2 — нет, так что имейте это в виду. Ни один из них не будет жаловаться на функции mysqli.

PHP_CodeSniffer также поставляется со стандартом Squiz, но он очень строгий. Наверное, слишком строго для начала.

Вы также можете создать свой собственный стандарт, смешав части всех из них, но, вероятно, лучше начать с полного стандарта, чтобы вы понимали, где выполняются все проверки.

person Greg Sherwood    schedule 07.01.2013

как вы относитесь к этому? - игнорировать эти ошибки - исправить сниффер кода php, чтобы он игнорировал имена встроенных функций php - использовать другой стандарт? - что-нибудь еще?

Отличный вопрос.

Остерегайтесь игнорировать ошибки, обычно вы также игнорируете то, о чем хотите знать.

Я рекомендую, прежде чем игнорировать какие-либо сообщения об ошибках, еще немного просмотреть документацию Code Sniffer и посмотреть, сможете ли вы найти настройку для этого.

Кроме того, помните, что только потому, что сообщение об ошибке говорит об одном, оно может не обязательно означать то, что оно говорит. Например, когда вы получаете сообщение об ошибке типа «Неожиданная строка», это обычно означает, что вы забыли ; или что-то в этом роде. Итак, взгляните на свой код, чтобы убедиться, что в нем нет синтаксических ошибок. (т. е. @DavidHoude сделал хорошее замечание: для «$mysqli>connect_error === true» может потребоваться ->, а не >)

person Kristian    schedule 07.01.2013
comment
Я думаю, что ОП писал здесь в надежде получить прямой ответ. Прочитайте документы, на самом деле это не ответ, даже если это сделано из лучших побуждений. - person Wesley Murch; 07.01.2013
comment
спасибо @WesleyMurch. Я действительно думаю, что он может испытывать смешанные симптомы - person Kristian; 07.01.2013