Rumah >pembangunan bahagian belakang >tutorial php >Menyumbang kepada Sumber Terbuka: Kajian Kes GateKeeper
menyumbang kepada projek sumber terbuka: kes praktikal
Artikel ini akan menerangkan secara terperinci bagaimana untuk menyumbang kod untuk membuka projek sumber melalui kes praktikal. Kami akan mengambil Perpustakaan Gatekeeper sebagai contoh untuk menambah fungsi pengiraan dan secara beransur -ansur menunjukkan keseluruhan proses, termasuk komunikasi dengan pemilik projek, pelaksanaan kod, ujian, dan mengemukakan permintaan tarik.
Pengenalan kepada Perpustakaan Gatekeeper
GateKeeper adalah perpustakaan PHP untuk pendaftaran pengguna, pengesahan, dan kebenaran. Ini menjadikannya sepenuhnya dipisahkan dari aplikasi utama, menjadikannya mudah untuk skala dan mengubah suai.
Tambah fungsi pengiraan
Pada masa ini, untuk mendapatkan jumlah pengguna dalam pangkalan data, Gatekeeper perlu terlebih dahulu mendapatkan semua rekod pengguna, kemudian mengira, atau menulis secara manual pertanyaan SQL. Untuk memperbaiki ini, kami akan menambah ciri pengiraan ke antara muka penyesuai untuk menjadikannya asli dan bersedia untuk menambah enjin pangkalan data lain pada masa akan datang.
Langkah 1: Berkomunikasi dengan pemilik projek
Sebelum mula menyumbang, mula berkomunikasi dengan pemilik projek untuk mengesahkan sama ada ciri tersebut telah dirancang dan sama ada ia diperlukan. Biasanya, hanya mungkin untuk mencadangkannya dalam isu projek.
Langkah 2: garpu, klon dan ujian
Pertama, projek garpu ke repositori GitHub anda sendiri. Kemudian, klon pergi secara tempatan, pasang kebergantungan dan jalankan ujian:
<code class="language-bash">git clone <你的fork地址> cd gatekeeper composer install vendor/bin/phpunit</code>
Semua ujian harus diluluskan. Selepas itu, buat cawangan baru untuk membangunkan:
<code class="language-bash">git checkout -b "feature-count"</code>
Langkah 3: Pelan Tindakan
GateKeeper pada masa ini hanya menyokong pangkalan data MySQL. Kita perlu mengubah suai bahagian berikut:
Gatekeeper/DataSource
: Kelas DataSource Abstrak DataSource/MySQL
: Sumber data MySQL yang mengandungi kaedah sebenar DataSource/Stub
: kemas kini stub supaya penyumbang lain tahu bahawa mereka perlu menambah kaedah kiraan Pemproses kiraan baru juga diperlukan, kerana Gatekeeper menggunakan panggilan statik sihir untuk membuat, mencari, mengemas kini, dan memadam entiti.
Langkah 4: Pelaksanaan Kod
Delegasikan Panggilan Statik: Tambah blok Gatekeeper::__callStatic
dalam elseif
mewakilkan panggilan statik ke pemproses kiraan baru. Pada masa yang sama, kemas kini sifat statik $actions
.
Buat pemproses kiraan: Buat Psecio/Gatekeeper/Handler/Count.php
fail, tulis logik pemproses kiraan, yang sama dengan pemproses membuat, tetapi melakukan operasi pengiraan.
Ubah suai DataSource dan Stub: Tambah Psecio/Gatekeeper/DataSource/Stub.php
Tandatangan kaedah dalam count
dan kelas abstrak.
Melaksanakan kaedah kiraan Sumber Data MySQL: Melaksanakan kaedah DataSource/MySQL.php
dalam count
, yang menggunakan fungsi COUNT(*)
MySQL untuk dikira.
Langkah 6: Hantar permintaan tarik
Hantar kod ke repositori garpu anda sendiri dan buat permintaan tarik untuk menghantar ulasan kod kepada pemilik projek.
Ringkasan
Artikel ini memperkenalkan secara terperinci proses penyumbang kod untuk membuka projek sumber melalui kes tertentu. Walaupun kes ini agak mudah, ia meliputi kebanyakan langkah yang menyumbang kepada projek sumber terbuka dan memberikan rujukan yang baik untuk pemaju yang ingin mengambil bahagian dalam projek sumber terbuka. Ingat bahawa ujian dan komunikasi yang jelas adalah kunci kepada sumbangan yang berjaya.
Atas ialah kandungan terperinci Menyumbang kepada Sumber Terbuka: Kajian Kes GateKeeper. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!