จะสร้าง API สำหรับปลั๊กอินได้อย่างไร?


20

ฉันได้พัฒนาปลั๊กอินสำหรับ WordPress ปลั๊กอินส่วนใหญ่ที่ฉันได้พัฒนาใช้สองหรือสามชั้นจึงไม่ใหญ่เท่า Buddypress หรือ WooCommerce

ฉันวางแผนที่จะพัฒนาปลั๊กอินโอเพ่นซอร์สสองตัวเพื่อส่งมอบระบบที่ซับซ้อนบางอย่าง (ไม่สามารถแชร์รายละเอียดได้ในขณะนี้ แต่หลังจากนั้นในระหว่างการพัฒนา) ซึ่งผู้พัฒนารายอื่นสามารถปรับแต่งฟังก์ชั่นและระบบสำหรับพวกเขาจะต้องเหมือนกัน .

ในขณะที่ฉันตรวจสอบไฟล์ปลั๊กอินเหล่านั้นและตระหนักว่าพวกเขาได้ลงทะเบียนการกระทำและตัวกรองของตนเองซึ่งนักพัฒนาสามารถปรับเปลี่ยนได้ตามความต้องการ อย่างไรก็ตามปัญหาของฉันไม่สามารถเข้าใจได้อย่างสมบูรณ์ว่าฉันควรเขียนปลั๊กอินอย่างไรในขณะที่คนอื่นมีความยืดหยุ่นในการแทนที่ฟังก์ชั่นรวมทั้งเพิ่มของพวกเขาเอง

ฉันรู้ว่าเป็นการยากที่จะให้คำตอบที่ชัดเจน แต่ฉันต้องการไกด์นำเที่ยวบางชนิดเพื่อให้ฉันไปในทิศทางที่ถูกต้อง ฉันต้องลงทะเบียนการกระทำและตัวกรองของฉันเองหรือไม่? ถ้าใช่เป็นอย่างไร ถ้าไม่เช่นนั้นตัวเลือกของฉันคืออะไร?

คำแนะนำของคุณจะช่วยฉันได้มาก ... ขอบคุณ

คำตอบ:


25

API ที่คุณนำเสนอในปลั๊กอินหรือชุดรูปแบบขึ้นอยู่กับตรรกะของรหัสเฉพาะนั้น อาจไม่มีคู่มือที่ใช้กับทุกสถานการณ์

ฉันเป็นผู้มีส่วนร่วมสำหรับปลั๊กอินหลายตัวที่มี API และสิ่งที่ฉันได้เรียนรู้จนถึงตอนนี้คือ:

  1. อย่าเสนอ API จนกว่าคุณจะรู้ว่าผู้คนใช้งานรหัสของคุณอย่างไร

    ปล่อยสองหรือสามเวอร์ชันแรกโดยไม่มี API ไม่มีการกระทำที่กำหนดเองหรือตัวกรองไม่มีวิธีการหรือฟังก์ชั่นสาธารณะ (และไม่เคยมีตัวแปรทั่วโลก) หากเป็นไปได้ รอการร้องขอจากผู้ใช้ของคุณ แต่อย่าเพิ่มรหัสจนกว่าคุณจะรู้ว่าโครงสร้างรหัสภายในของคุณจะทำงานในระยะยาว

    การดูแลรักษาหลังเข้ากันได้ของ API เป็นเรื่องยาก มันอาจป้องกันการปรับปรุงที่จำเป็นในสถานที่อื่น ๆ คิดเกี่ยวกับตัวแปรทั่วโลกทั้งหมดที่ WordPress ไม่สามารถลบได้ในปัจจุบัน นั่นเป็น API ที่ไม่ดีและเราจะติดอยู่กับมันมานานหลายปีเพราะคนใช้มันแล้ว

  2. พิจารณาแยก API ของคุณออกจากโค้ดที่เหลือ (ดูลิงค์ก่อนหน้าสำหรับแนวคิด)
    API ของคุณควรมีประโยชน์ไม่เพียง แต่สำหรับนักพัฒนาบุคคลที่สาม แต่สำหรับคุณเช่นกัน อย่าเพิ่มข้อ จำกัด สำหรับตัวคุณเองถ้าคุณไม่จำเป็นต้อง

  3. กินอาหารสุนัขของคุณเอง
    หากคุณเสนอ hooks ที่กำหนดเองให้ใช้พวกเขาในรหัสของคุณ นี่จะให้ตัวอย่างที่เป็นประโยชน์สำหรับนักพัฒนาซอฟต์แวร์คนอื่น ๆ และคุณสามารถเห็นข้อบกพร่องที่อาจเกิดขึ้นในไม่ช้า
    หากแกน WordPress จะใช้การตั้งค่า API ที่เรียกว่าภายในเราจะไม่มีระเบียบนี้ในวันนี้ อาจจะ.

  4. นำโดยตัวอย่าง
    ใช้ส่วนที่ดีของ API แกน WordPress ในปลั๊กอินของคุณ หลีกเลี่ยงวัตถุที่ไม่ระบุชื่อค่าคงที่ตัวแปรโกลบอลและโค้ดที่ไม่สามารถคาดเดาได้

  5. ตรวจสอบให้แน่ใจว่าคุณใช้รูปแบบการตั้งชื่อที่สอดคล้องกัน (ไม่ใช่เรื่องยุ่งเหยิง ) และทำให้ทุกอย่างอยู่ภายใต้เนมสเปซของคุณเอง

  6. เขียนเอกสารก่อน ปล่อย API ใหม่ (ส่วนหนึ่งของ) ในภายหลัง
    สร้างตัวอย่างที่มีประโยชน์สำหรับทุกสิ่ง คุณจะประหลาดใจเมื่อเห็นว่ามีกี่หลุมและความซ้ำซ้อนที่คุณจะได้พบ

  7. หลีกเลี่ยงการโทรกลับนรก
    เสนอเครื่องมือเฉพาะเพื่อดีบัก API ของคุณเมื่อสิ่งต่าง ๆ ไม่ทำงานตามที่ควร (รวมถึงสคริปต์และสไตล์ชีทที่ย่อขนาดเล็กสุด) ฉันได้เขียนตัวอย่างสำหรับวิธีการดีบัก AJAXเพียงเพื่อแสดงให้เห็นว่าคุณสามารถอยู่ที่นี่ได้อย่างไร ควรอธิบายเครื่องมือเหล่านี้ในเอกสารของคุณอีกครั้งก่อนเผยแพร่

  8. ทางเลือกในการ WordPress' Paradigma โทรกลับอาจจะเป็นรูปแบบการสังเกตการณ์ สิ่งนี้จะเพิ่มอุปสรรคสำหรับนักพัฒนาบุคคลที่สาม แต่อาจส่งผลให้โค้ดดีขึ้นทั้งสองด้าน


คุณให้แนวทางที่ยอดเยี่ยมแก่ฉัน มันจะช่วยให้ฉันเริ่มต้นในทิศทางที่ถูกต้อง บางจุดที่ฉันไม่เคยคิด ขอบคุณสำหรับจุดเหล่านั้น ฉันจะเริ่มคำถามใหม่สำหรับปลั๊กอินเมื่อฉันเริ่มพัฒนา ฉันต้องการความช่วยเหลือจากผู้เชี่ยวชาญของคุณจริงๆ ขณะนี้ฉันกำลังสร้างผังโครงสร้างสำหรับระบบ ขอบคุณมากอีกครั้ง .. ฉันกำลังเลือกคำตอบของคุณ แต่ต้องการได้ยินจากผู้เชี่ยวชาญรายอื่นเช่นกัน
pixelngrain
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.