Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. PHP
Code

Menggunakan PHP CodeSniffer Dengan WordPress: Memasang dan Menggunakan Peraturan WordPress

by
Difficulty:BeginnerLength:LongLanguages:

Malay (Melayu) translation by Meyria (you can also view the original English article)

Sekiranya anda hanya menyertai siri ini, kami telah membincangkan topik bau kod, bagaimana untuk refactor mereka, dan alat yang tersedia untuk membantu kami mengautomasikan beberapa monotoni yang datang dengan berbuat demikian, terutamanya dalam pengaturcaraan PHP.

Sekiranya anda tidak membaca dua artikel pertama dalam siri ini, saya mencadangkannya kerana ia meliputi beberapa prasyarat yang kami ada sebelum bergerak ke hadapan dengan baki artikel tersebut.

Artikel ini adalah:

  1. Menggunakan PHP CodeSniffer Dengan WordPress: Memahami Smel Kod
  2. Menggunakan PHP CodeSniffer Dengan WordPress: Memasang dan Menggunakan PHP CodeSniffer

Pendek kata, artikel di atas akan memperkenalkan konsep bau kod, yang telah kami tentukan sebagai berikut:

Bau kod [A], juga dikenali sebagai bau yang tidak baik, dalam kod pengaturcaraan komputer, merujuk kepada sebarang gejala dalam kod sumber sesuatu program yang mungkin menunjukkan masalah yang lebih mendalam.

Dan saya akan memandu anda melalui langkah-langkah yang diperlukan untuk memasang PHP CodeSniffer pada mesin anda.

Tetapi jika anda telah membuatnya sejauh ini, saya menganggap anda pemaju WordPress, dan anda berminat untuk mendapatkan PHP CodeSniffer dikonfigurasikan supaya ia dapat mengendap sebarang masalah dalam kod anda kerana ia berkaitan dengan Standard Pengekodan WordPress.

Itu baik! Kerana dalam baki artikel ini, itulah yang akan kita tutupi.

Prasyarat

Ini harus menjadi senarai yang sangat singkat. Jika anda telah mengikuti bersama dengan siri ini hingga ke tahap ini, anda perlu mempunyai:

Semua ini dibincangkan secara terperinci sepanjang artikel-artikel sebelumnya dalam siri ini, tetapi jika anda sudah sampai sejauh ini dan selesa dengan baris arahan maka ini sepatutnya menjadi cinch jika dibandingkan dengan apa yang telah kami lakukan setakat ini.

Dengan semua itu berkata, mari kita mulakan.

Peraturan WordPress untuk PHP CodeSniffer

Pertama, cari peraturan Standard Pengekodan WordPress pada GitHub. Mereka mudah dicari.

The WordPress Coding Standard Rules

Anda boleh membaca semua butiran projek dari halaman projek, tetapi perkara yang paling penting yang saya ingin kongsi adalah seperti berikut:

Projek ini adalah koleksi peraturan PHP_CodeSniffer (sniffs) untuk mengesahkan kod yang dibangunkan untuk WordPress. Ia memastikan kualiti dan pematuhan kod kepada konvensyen pengekodan, terutamanya Standard Pengekodan WordPress rasmi.

Saya ingin memberi perhatian kepada frasa bahawa rujukan ini 'Standard Pengekodan WordPress rasmi.' Perhatikan bahawa peraturan ini adalah berdasarkan Standard Pengekodan WordPress. Iaitu, anda tidak boleh merujuk secara rasmi mereka.

Sekiranya anda ingin mencari jalan untuk melihat peraturan yang ditakrifkan oleh WordPress, semak artikel ini dalam Codex. Mudah untuk diikuti, mudah dibaca, tetapi banyak yang perlu diingat. Syukurlah, kami mempunyai peraturan yang ditetapkan di atas.

Perkara penting untuk diperhatikan ialah walaupun anda tidak biasa dengan peraturan, KodSniffer akan menemui masalah dengan kod anda dan akan memberitahu anda tentang apa yang perlu anda selesaikan. Walaupun anda tidak perlu membaca artikel Codex, ia kadang-kadang boleh membantu dalam mengenal pasti apa yang diperlukan berdasarkan kesilapan atau amaran yang dihasilkan oleh sniffer.

1. Pasang Peraturan WordPress

Dengan mengandaikan bahawa anda telah memasang PHP CodeSniffer dengan betul, mari tambahkan peraturan Wordpress ke perisian tersebut. Untuk tutorial ini, saya akan melakukan segala-galanya melalui baris arahan supaya menjadi platform agnostik yang mungkin. Saya akan menawarkan beberapa perkataan mengenai IDE dan peraturan pada akhir siri ini.

Buka Terminal anda dan arahkan ke tempat anda mempunyai salinan PHP CodeSniffer yang dipasang. Jika anda telah mengikuti bersama dengan siri tutorial ini, maka anda mungkin ingat bahawa kami mempunyai fail komposer.json yang akan menarik ini untuk kami. Jika tidak, ingatlah untuk membuat komposer.json di akar projek anda dan tambahkan ini ke fail:

Sebaik sahaja selesai, jalankan kemas kini komposer $ dari Terminal anda dan anda akan mempunyai semua yang anda perlukan untuk pergi. Untuk mengesahkan pemasangan, jalankan arahan berikut:

Dan anda harus melihat sesuatu seperti output berikut:

Sempurna Seterusnya, mari kita pasang peraturan WordPress. Oleh kerana kami menggunakan Komposer (dan akan terus melakukannya), ini sangat mudah dilakukan.

Jalankan arahan berikut dari dalam direktori root projek anda:

Perhatikan bahawa anda mungkin diminta dengan soalan berikut:

Sekiranya anda tahu apa yang anda lakukan, sila rujuk terus dan pilih 'n'; Jika tidak, anda akan memukul 'y' dengan baik.

2. Tambah Peraturan untuk PHP CodeSniffer

Sekarang bahawa PHP CodeSniffer dipasang, dan peraturan WordPress dipasang, kita perlu memastikan PHP CodeSniffer mengetahui peraturan baru kami. Untuk melakukan ini, kita perlu memasukkan arahan berikut dalam baris arahan.

Dari akar direktori projek anda, masukkan arahan berikut:

Untuk mengesahkan bahawa peraturan baru telah ditambahkan, kami boleh meminta PHP CodeSniffer untuk melaporkan kepada kami set peraturan yang tersedia pada masa ini. Di Terminal, masukkan arahan berikut:

Dan anda harus melihat output berikut (atau sesuatu yang sangat serupa):

Perhatikan garis di atas bahawa kami mempunyai beberapa peraturan mengenai WordPress. Pretty neat, bukan? Sudah tentu, mari kita lihat bagaimana susunan ini apabila kita menjalankan peraturan yang ditetapkan terhadap plugin seperti Hello Dolly.

3. Running PHP CodeSniffer Terhadap Projek WordPress

Dengan mengandaikan bahawa anda menggunakan direktori yang termasuk plugin Wordpress, maka anda boleh melangkau langkah berikut. Jika, di sisi lain, anda tidak mempunyai salinan skrip, fail, tema, atau plugin WordPress dalam direktori projek, teruskan dan serahkan satu ke direktori projek anda sekarang.

Seperti yang dinyatakan, kami akan menguji plugin Hello Dolly.

Preparing to test Hello Dolly

Untuk menjalankan PHP CodeSniffer dengan peraturan WordPress terhadap fail-fail dalam direktori plugin, masukkan arahan berikut di Terminal:

Ini akan menghasilkan output yang sepadan dengan apa yang anda lihat di sini:

Sudah tentu, beberapa perkara ini mungkin berubah bergantung pada ketika anda membaca tutorial ini.

Kesalahan harus jelas tentang apa yang perlu diperbaiki:

  • Lajur pertama menandakan garis di mana masalah ada.
  • Lajur kedua menentukan jika terdapat ralat atau amaran.
  • Lajur ketiga menerangkan masalah dan apa yang diharapkan daripada kod.

Perhatikan bahawa walaupun ini adalah kesilapan atau amaran, kod tersebut jelas akan berfungsi. Tetapi mari kita tarik ini melalui hujung-ke-hujung dan lihat apa yang ia suka untuk memperbaiki plugin, boleh dikatakan yang paling popular kerana ia datang dengan setiap pemasangan WordPress, dan mengkaji perbezaan dalam kualiti kod.

4. Refactoring Hello Dolly

Perhatikan pemalam, sebelum kita mula mengerjakannya, termasuk kod sumber berikut:

Ia sepatutnya agak mudah untuk diikuti kerana hanya menggunakan beberapa ciri PHP asas dan Matt telah melakukan tugas yang baik untuk mengulas kod tersebut.

Tetapi memandangkan 14 kesilapan yang didapati oleh CodeSniffer, mari refactor plugin itu. Dengan mengambil kira kesilapan yang telah mereka sampaikan dan apa yang mereka harapkan untuk melihat, mari alamat setiap mereka.

Setelah selesai, plugin harus kelihatan seperti berikut:

Perhatikan bahawa plugin terus berfungsi dan kod itu bersih sedikit. Akhir sekali, mari kita sahkan bahawa ini lulus ujian PHP CodeSniffer. Mari kita jalankan semula kod yang kita gunakan di atas untuk mula menilai plugin tersebut.

Dan output yang kita lihat:

Tepat: Tidak perlu output. Sebaliknya, ia sepatutnya menjadi kembalinya kepada arahan arahan piawai.

Cemerlang. Plugin telah dibawa ke standard. Inilah sebabnya mengapa mempunyai sniffer kod adalah sangat berharga: Ia mendapati ralat dalam kod anda berdasarkan peraturan yang anda tentukan dan kemudian melaporkan sebarang kesalahan yang mungkin wujud.

Pada akhirnya, ini memastikan anda melepaskan kod tertulis yang berkualiti tinggi ke tapak peringkat produksi. Kini, ini tidak bermakna anda perlu mengelakkan ujian unit atau jenis ujian lain, dan ini juga tidak bermakna bug tidak wujud. Ia hanya bermaksud bahawa kod anda terpakai kepada standard yang tinggi.

Kesimpulan

Dan dengan itu, kami menyimpulkan siri menggunakan PHP CodeSniffer. Ingat bahawa sepanjang siri ini, kami telah membahas idea bau kod, bagaimana untuk refactor mereka, dan alat apa yang tersedia untuk kami ketika bekerja dengan aplikasi PHP.

Dalam artikel ini, kita melihat bagaimana kita boleh menggunakan set peraturan yang disediakan untuk Standard Pengekodan WordPress untuk menilai kod kami semasa bekerja pada projek baru atau yang sedia ada. Ambil perhatian bahawa sesetengah IDE menyokong keupayaan untuk melaksanakan peraturan semasa menulis kod.

Walaupun itu melebihi skop tutorial khusus ini, anda boleh mencari sumber untuk ini di berbagai tempat di seluruh web. Cuma cari IDE anda dengan nama, tentukan sokongannya untuk PHP CodeSniffer, dan kemudian pastikan untuk memasang peraturan WordPress seperti yang telah kami terperinci dalam tutorial ini.

Jika anda menikmati artikel ini atau siri ini, anda mungkin berminat untuk menyemak perkara-perkara lain yang telah saya tulis di halaman profil saya atau di blog saya. Anda juga boleh mengikuti saya di Twitter di tommcfarlin di mana saya sering bercakap tentang dan berkongsi pelbagai amalan pembangunan perisian dalam konteks WordPress.

Dengan itu berkata, jangan teragak-agak untuk meninggalkan apa-apa soalan atau komen dalam suapan di bawah dan saya akan menyasar untuk membalas setiap mereka.

Sumber

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.