您好,登錄后才能下訂單哦!
本文內容主要是Drupal開發中代碼檢測,簡單羅列了Coder和PHPCS的安裝和使用的步驟。如需詳情請參看Drupal官方文檔。
本文參考文檔:
Coder https://www.drupal.org/project/coder/
Installing Coder Sniffer https://www.drupal.org/node/1419988
Command Line Usage https://www.drupal.org/node/1587138
Coder可以檢查你的Drupal代碼,與編碼標準(coding standards)和其他最佳寫法對比。它可以從php_codesniffer使用phpcbf命令,修復違反編碼標準的代碼。這試用于所有版本的Drupal,所以你也可以使用Coder8.x-2.x去檢查Drupal7的代碼。
Coder不是一個模塊,它是用來作為命令行工具和集成到開發IDE中使用的。
phpcs --standard=Drupal example.module
FILE: /home/klausi/workspace/coder/example.module
--------------------------------------------------------------------------------
FOUND 5 ERRORS AFFECTING 5 LINES
--------------------------------------------------------------------------------
1 | ERROR | [ ] Missing file doc comment
3 | ERROR | [ ] Missing function doc comment
4 | ERROR | [ ] Opening brace should be on the same line as the declaration
5 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 1
6 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 3
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 2 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
PHP_CodeSniffer是一個用于標記PHP,JavaScript和CSS文件并監測違反編碼標準定義的編碼標準集庫。(After you install coder Sniffer ,see command line options for running it here)
Coder 包含PHP CodeSniffer的“嗅探器”。這些“嗅探器”告訴PHP CodeSniffer代碼是否符合Drupal編碼標準。具體說,有兩個規則集,Drupal 和 DrupalPractice.前者旨在強制通用標準,而后者針對希望避免常見錯誤的模塊開發人員。
1. Install PHP CoderSniffer
2. Install Coder
3. Register Drupal standards in PHP Codersniffer
4. Run the sniffs
你可以通過Composer安裝Coder Sniffer,著將自動安裝PHPCS及其依賴項。
這里我們采用Composer安裝。
建議將編碼器安裝在一個中心的位置,因為我們無需為每個Drupal站點下載安裝。
1. 確認是否安裝Composer:
$ which composer
/usr/local/bin/composer
$ composer -V
Composer version 1.5.6 2017-12-18 12:09:18
composer's installation instructions
1. Install Coder(8.x-2.x)in your global Composer directory in your home directory
$ composer global require drupal/coder
在大多數系統上,Coder將安裝在~/ .composer/vendor/drupal/coder 目錄中
2. You can check the installed location by doing:
$ composer global show -P
// ...
drupal/coder /home/notroot/.composer/vendor/drupal/coder
// ...
3. 設置$PATH變量
To make the phpcs and phpcbf commands avaliable globally, add those to your $PATH variable in ~/.profile,~/.bash_profile,~/.bashrc or ~/.zshrc.
export PATH="$PATH:$HOME/.composer/vendor/bin"
PHPCS 附帶一些已經注冊的標準。上面暗轉了Coder Sniffer,我們需要注冊Drupal和DrupalPractice標準,以便PHPCS可以使用它們。我們使用Composer安裝。
Composer Installer Plugin
$ composer global require drupal/coder:^8.2.12
$ composer global require dealerdirect/phpcodesniffer-composer-installer
上面的安裝命令會返回
PHP CodeSniffer Config installed_paths set to ~/.composer/vendor/drupal/coder/coder_sniffer
$ phpcs -i
The installed coding standards are Zend, PEAR, PSR2, MySource, PHPCS, Squiz, PSR1, DrupalPractice and Drupal
$ phpcs --standard=Drupal --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md /file/to/drupal/example_module
上面命令最好將結果導出到一個文檔中,方便我們翻看(如果你自信你的編碼,可以不用):
$ phpcs --standard=Drupal --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md /file/to/drupal/example_module > codecheck.txt
$ phpcs --standard=Drupal --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md --ignore=node_modules,bower_components,vendor /file/to/drupal/example_module > codecheck.tex
還有其他PHPCS命令的使用方式以及設置別名方便使用的方法,請查看Drupal官方文檔。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。