我有几个插件可以这样启动:
namespace MyPlugin;
// If this file is called directly, abort.
if (! defined(\'WPINC\')) {
die;
}
/**
* Define Constants
*
*/
define(__NAMESPACE__ . \'\\NS\', __NAMESPACE__ . \'\\\\\');
现在我终于开始使用PHP_Codesniffer 实施一些PSR12 standards, 我收到一个警告:一个文件应该声明新的符号(类、函数、常量等),并且不会产生其他副作用,或者应该执行带有副作用的逻辑,但不应该同时执行这两种作用。第一个符号在线48定义,第一个副作用在线38定义。
我注意到高级自定义字段(我认为这是一个很好的标准)也打破了这一建议:
if( ! defined( \'ABSPATH\' ) ) exit; // Exit if accessed directly
显然我可以ignore the warning, 例如,将其包装在// phpcs:disable
和// phpcs:enable
根据Codesniffer docs, 但是,怎样才能优雅地坚持下去呢?