คำเตือน
ที่เก็บนี้ถูกทอดทิ้ง ผู้สืบทอดคือ phpcsstandards/php_codesniffer
ดูปัญหา #3932 สำหรับข้อมูลเพิ่มเติม
PHP_CODESNIFFER เป็นชุดของสคริปต์ PHP สองตัว สคริปต์ phpcs
หลักที่ทำให้ไฟล์ PHP, JavaScript และ CSS เพื่อตรวจจับการละเมิดมาตรฐานการเข้ารหัสที่กำหนดไว้และสคริปต์ phpcbf
ที่สองเพื่อแก้ไขการละเมิดมาตรฐานโดยอัตโนมัติ PHP_CODESNIFFER เป็นเครื่องมือการพัฒนาที่สำคัญที่ทำให้มั่นใจได้ว่ารหัสของคุณยังคงสะอาดและสอดคล้องกัน
PHP_CODESNIFFER ต้องการ PHP เวอร์ชัน 5.4.0 หรือมากกว่าแม้ว่าการดมกลิ่นแต่ละรายการอาจมีข้อกำหนดเพิ่มเติมเช่นแอปพลิเคชันภายนอกและสคริปต์ ดูหน้าคู่มือตัวเลือกการกำหนดค่าสำหรับรายการข้อกำหนดเหล่านี้
หากคุณใช้ php_codesniffer เป็นส่วนหนึ่งของทีมหรือคุณกำลังใช้งานบนเซิร์ฟเวอร์ CI คุณอาจต้องการกำหนดค่าการตั้งค่าโครงการของคุณโดยใช้ไฟล์การกำหนดค่า
วิธีที่ง่ายที่สุดในการเริ่มต้นด้วย php_codesniffer คือการดาวน์โหลดไฟล์ phar สำหรับแต่ละคำสั่ง:
# Download using curl curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar # Or download using wget wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar wget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar # Then test the downloaded PHARs php phpcs.phar -h php phpcbf.phar -h
หากคุณใช้ Composer คุณสามารถติดตั้งระบบ php_codesniffer ทั่วทั้งระบบด้วยคำสั่งต่อไปนี้:
นักแต่งเพลง Global ต้องการ "squizlabs/php_codesniffer =*"
ตรวจสอบให้แน่ใจว่าคุณมีนักแต่งเพลง Bin Dir ในเส้นทางของคุณ ค่าเริ่มต้นคือ ~/.composer/vendor/bin/
แต่คุณสามารถตรวจสอบค่าที่คุณต้องใช้โดยการเรียกใช้ composer global config bin-dir --absolute
หรืออีกวิธีหนึ่งรวมถึงการพึ่งพาสำหรับ squizlabs/php_codesniffer
ในไฟล์ composer.json
ของคุณ Json ตัวอย่างเช่น:
{"ต้องการ-Dev": {"squizlabs/php_codesniffer": "3.*"} -
จากนั้นคุณจะสามารถเรียกใช้ php_codesniffer จากไดเรกทอรี Bin ของผู้ขาย:
./vendor/bin/phpcs -h ./vendor/bin/phpcbf -h
หากคุณใช้ phive คุณสามารถติดตั้ง php_codesniffer เป็นเครื่องมือโครงการโดยใช้คำสั่งต่อไปนี้:
phive ติดตั้ง phpcs phive ติดตั้ง phpcbf
จากนั้นคุณจะสามารถเรียกใช้ php_codesniffer จากไดเรกทอรีเครื่องมือ:
./tools/phpcs -h ./tools/phpcbf -h
หากคุณใช้ลูกแพร์คุณสามารถติดตั้ง php_codesniffer โดยใช้ตัวติดตั้งลูกแพร์ สิ่งนี้จะทำให้คำสั่ง phpcs
และ phpcbf
พร้อมใช้งานทันที ในการติดตั้ง php_codesniffer โดยใช้ตัวติดตั้ง Pear ก่อนอื่นให้แน่ใจว่าคุณได้ติดตั้งลูกแพร์แล้วเรียกใช้คำสั่งต่อไปนี้:
การติดตั้งลูกแพร์ php_codesniffer
นอกจากนี้คุณยังสามารถดาวน์โหลดแหล่งที่มาของ PHP_CODESNIFFER และเรียกใช้คำสั่ง phpcs
และ phpcbf
โดยตรงจาก GIT Clone:
git clone https://github.com/squizlabs/php_codesniffer.gitcd php_codesniffer php bin/phpcs -h php bin/phpcbf -h
มาตรฐานการเข้ารหัสเริ่มต้นที่ใช้โดย php_codesniffer เป็นมาตรฐานการเข้ารหัสลูกแพร์ หากต้องการตรวจสอบไฟล์กับมาตรฐานการเข้ารหัสลูกแพร์เพียงระบุตำแหน่งของไฟล์:
phpcs/path/to/code/myfile.php
หรือหากคุณต้องการตรวจสอบไดเรกทอรีทั้งหมดคุณสามารถระบุตำแหน่งไดเรกทอรีแทนไฟล์
phpcs/path/to/code-directory
หากคุณต้องการตรวจสอบรหัสของคุณกับมาตรฐานการเข้ารหัส PSR-12 ให้ใช้อาร์กิวเมนต์บรรทัดคำสั่ง --standard
:
PHPCS-Standard = psr12/path/to/code-directory
หาก php_codesniffer พบข้อผิดพลาดมาตรฐานการเข้ารหัสใด ๆ รายงานจะปรากฏขึ้นหลังจากเรียกใช้คำสั่ง
ข้อมูลการใช้งานเต็มรูปแบบและรายงานตัวอย่างมีอยู่ในหน้าการใช้งาน
เอกสารสำหรับ php_codesniffer มีอยู่ใน GitHub Wiki
รายงานข้อผิดพลาดและคำขอคุณสมบัติสามารถส่งได้ในตัวติดตามปัญหา GitHub
ดูข้อมูล MD สำหรับข้อมูล
PHP_CODESNIFFER ใช้รูปแบบหมายเลขเวอร์ชัน MAJOR.MINOR.PATCH
รุ่น MAJOR
จะเพิ่มขึ้นเมื่อ:
การเปลี่ยนแปลงที่เข้ากันไม่ได้เกิดขึ้นกับวิธีการใช้คำสั่ง phpcs
หรือ phpcbf
หรือ
การเปลี่ยนแปลงที่เข้ากันไม่ได้เกิดขึ้นกับรูปแบบ ruleset.xml
หรือ
การเปลี่ยนแปลงที่เข้ากันไม่ได้เกิดขึ้นกับ API ที่ใช้โดยนักพัฒนาสูดดมหรือ
ประเภทโทเค็น php_codesniffer ที่กำหนดเองจะถูกลบออกหรือ
สูดดมที่มีอยู่จะถูกลบออกจาก php_codesniffer ทั้งหมด
รุ่น MINOR
จะเพิ่มขึ้นเมื่อ:
คุณสมบัติที่เข้ากันได้กับย้อนหลังใหม่จะถูกเพิ่มลงในคำสั่ง phpcs
และ phpcbf
หรือ
การเปลี่ยนแปลงที่เข้ากันได้ย้อนหลังทำกับรูปแบบ ruleset.xml
หรือ
การเปลี่ยนแปลงที่เข้ากันได้ย้อนหลังทำกับ API ที่นักพัฒนาดมกลิ่นใช้หรือ
การดมกลิ่นใหม่จะถูกเพิ่มเข้าไปในมาตรฐานที่รวมอยู่หรือ
สูดดมที่มีอยู่จะถูกลบออกจากมาตรฐานที่รวมอยู่
หมายเหตุ: การเปลี่ยนแปลงที่เข้ากันได้กับ API ที่ใช้โดยนักพัฒนา SNIFF จะช่วยให้การดมกลิ่นที่มีอยู่ดำเนินการต่อไปโดยไม่ต้องสร้างข้อผิดพลาดร้ายแรง แต่อาจไม่ส่งผลให้เกิดการรายงานข้อผิดพลาดเช่นเดียวกับที่เคยทำมาก่อนโดยไม่ต้องมีการเปลี่ยนแปลง
เวอร์ชัน PATCH
จะเพิ่มขึ้นเมื่อ:
มีการแก้ไขข้อผิดพลาดที่เข้ากันได้กับด้านหลัง
หมายเหตุ: เนื่องจาก PHP_CODESNIFFER มีอยู่เพื่อรายงานและแก้ไขปัญหาข้อบกพร่องส่วนใหญ่เป็นผลมาจากข้อผิดพลาดมาตรฐานการเข้ารหัสที่รายงานไม่ถูกต้องหรือการเข้ารหัสข้อผิดพลาดมาตรฐานที่ไม่ได้รับการรายงานเมื่อพวกเขาควรจะเป็น ซึ่งหมายความว่าข้อความที่ผลิตโดย php_codesniffer และการแก้ไขที่เกิดขึ้นมีแนวโน้มที่จะแตกต่างกันระหว่างเวอร์ชันแพตช์