Rumah > pembangunan bahagian belakang > tutorial php > Menyumbang kepada Sumber Terbuka: Kajian Kes GateKeeper

Menyumbang kepada Sumber Terbuka: Kajian Kes GateKeeper

Joseph Gordon-Levitt
Lepaskan: 2025-02-15 09:20:12
asal
327 orang telah melayarinya

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:

git clone <你的fork地址>
cd gatekeeper
composer install
vendor/bin/phpunit
Salin selepas log masuk

Semua ujian harus diluluskan. Selepas itu, buat cawangan baru untuk membangunkan:

git checkout -b "feature-count"
Salin selepas log masuk

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

  1. 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.

  2. Buat pemproses kiraan: Buat Psecio/Gatekeeper/Handler/Count.php fail, tulis logik pemproses kiraan, yang sama dengan pemproses membuat, tetapi melakukan operasi pengiraan.

  3. Ubah suai DataSource dan Stub: Tambah Psecio/Gatekeeper/DataSource/Stub.php Tandatangan kaedah dalam count dan kelas abstrak.

  4. Melaksanakan kaedah kiraan Sumber Data MySQL: Melaksanakan kaedah DataSource/MySQL.php dalam count, yang menggunakan fungsi COUNT(*) MySQL untuk dikira.

Contributing to Open Source: Gatekeeper Case Study

Contributing to Open Source: Gatekeeper Case Study

Contributing to Open Source: Gatekeeper Case Study

Contributing to Open Source: Gatekeeper Case Study

Langkah 5: Ujian

Contributing to Open Source: Gatekeeper Case Study

Buat projek baru, pasang perpustakaan Gatekeeper yang diubahsuai menggunakan komposer, dan lakukan ujian. Ujian ini harus meliputi pelbagai senario, seperti mengira semua pengguna, mengira pengguna berdasarkan keadaan, dll.

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan