Это мой первый вопрос в StackOverflow. Я очень рад этому! ????????
Я хотел бы знать, есть ли конфигурация phpcs
, которая может переопределить ту же правило фигурных скобок. Например, при использовании новой функции продвижения конструктора PHP 8 в некоторых случаях нам не нужно любое содержимое в конструкторе. Так что было бы неплохо, если бы phpcs
мог разрешить этот код:
/**
* UserService constructor
*
* @param UserRepository $userRepository
* @param BillingService $billingService
*/
public function __construct(
protected UserRepository $userRepository,
protected BillingService $billingService
) {}
Или даже так:
/**
* BillingService constructor
*
* @param BillingRepository $billingRepository
*/
public function __construct(protected BillingRepository $billingRepository) {}
Но это вызывает предупреждение, например, в VS Code, закрывающая фигурная скобка должна быть на строке сама по себе. Я не хочу отключать правило, просто автоматически разрешаю исключение при использовании продвижения конструктора.
phpcs.xml.dist
выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/phpcs.xsd">
<rule ref="PSR1"/>
<rule ref="PSR2">
<exclude name="PSR1.Methods.CamelCapsMethodName"/>
</rule>
</ruleset>
Кто-нибудь знает, как этого добиться?
Спасибо за ваше время. :)
composer global require "squizlabs/php_codesniffer=*"
, поэтому не знаю, какая версия была разрешена. Я редактировалcomposer.json
иcomposer update
. Я точно не знаю, нужно ли мне что-то делать, но это не сработало. Глядя на журнал изменений Github, я добавил это правило<rule ref="Squiz.WhiteSpace.ScopeKeywordSpacing"/>
в свой файлphpcs.dist.xml
, но оно по-прежнему отображает ошибку. Спасибо за помощь. - person thiagobraga   schedule 18.04.2021composer show
(см. здесь). Что касается отключения, вы могли исключить другой нюх. Чтобы узнать, что именно вызывает ошибку, вы можете запустить PHPCS с параметром-s
согласно этот комментарий. - person PtrTon   schedule 18.04.2021