มาตรฐานการพัฒนาปลั๊กอินแอปพลิเคชัน
ข้อกำหนดสำหรับปลั๊กอินแอปพลิเคชัน
- ปลั๊กอินต้องไม่มีโค้ดที่ละเมิดลิขสิทธิ์ เช่น ไอคอน รูปภาพ เป็นต้น
- โค้ดต้นฉบับของปลั๊กอินต้องเป็นโค้ดที่สมบูรณ์และต้องไม่ได้ถูกเข้ารหัส
- ปลั๊กอินต้องมีคุณสมบัติที่สมบูรณ์ และไม่สามารถเป็นคุณสมบัติที่เรียบง่าย
- ต้องมีการให้บริการที่เพียงพอเพื่อคุณสมบัติและเอกสาร
- ปลั๊กอินต้องไม่มีท้องตลาดย่อย
- ปลั๊กอินต้องไม่มีข้อความหรือลิงก์โปรโมทใดๆ
การระบุปลั๊กอินแอปพลิเคชัน
แต่ละปลั๊กอินแอปพลิเคชันมีการระบุที่เป็นเอกลักษณ์ โดยใช้ตัวอักษรเท่านั้น เริ่มต้น โค้ดต้นของปลั๊กอินจะอยู่ที่ {โปรเจกต์หลัก}/plugin/foo
และตัวแทนของปลั๊กอินที่เกี่ยวข้องจะเป็น plugin\foo
และคำนำหน้าของตารางฐานข้อมูลของปลั๊กอินจะเป็น foo_
รายละเอียดเพิ่มเติมเกี่ยวกับการตรวจสอบรหัสสำหรับการพัฒนา สามารถตรวจสอบได้ที่ การตรวจสอบรหัสประจำตัวแอปพลิเคชัน
ฐานข้อมูล
- ชื่อตารางเป็นตัวพิมพ์เล็ก a-z และเครื่องหมาย underscore
_
- ตารางข้อมูลปลั๊กอินควรมีคำนำหน้าการระบุปลั๊กอิน เช่น ตารางข่าวของปลั๊กอิน foo จะเป็น
foo_article
- คีย์หลักของตารางควรเป็น id
- ใช้เครื่องมือเก็บข้อมูลเป็น innodb engine ทั้งหมด
- มาตรฐานการเข้ารหัสเป็น utf8mb4_general_ci
- การใช้ ORM ในฐานข้อมูลควรใช้ laravel หรือ think-orm ก็ได้
- การใช้เวลาควรใช้เป็น DateTime
มาตรฐานโค้ด
มาตรฐานของ PSR
โค้ดควรเป็นไปตามมาตรฐาน PSR4
การตั้งชื่อคลาสด้วยการใช้ตัวอักษรตัวแรกใหญ่และใช้รูปแบบของแคมเมลเคส
<?php
namespace plugin\foo\app\controller;
class ArticleController
{
}
การตั้งชื่อของคุณสมบัติและเมทอดของคลาสด้วยการใช้ตัวอักษรตัวแรกเป็นตัวพิมพ์เล็กและใช้รูปแบบของแคมเมลเคส
<?php
namespace plugin\foo\app\controller;
class ArticleController
{
/**
* สำหรับเมทอดที่ไม่จำเป็นต้องเข้ารหัส
* @var array
*/
protected $noNeedAuth = ['getComments'];
/**
* รับความคิดเห็น
* @param Request $request
* @return Response
* @throws BusinessException
*/
public function getComments(Request $request): Response
{
}
}
คำอธิบาย
ควรใส่คำอธิบายของคุณสมบัติและฟังก์ชันข้างในคลาส รวมถึงข้อมูลทั่วไป พารามิเตอร์ และประเภทการคืนค่า
การเยื้อง
โค้ดควรใช้ space 4 ครั้งในการเยื้องแทนที่จะใช้ tab
การควบคุมการทำงาน
คำควบคุมการทำงาน (if for while foreach ฯลฯ) ควรตามด้วย space 1 ครั้ง และเครื่องหมายปีกกาการควบคุมการทำงานควรอยู่พร้อมกับวงเล็บปิดที่บรรทัดเดียวกัน
foreach ($users as $uid => $user) {
}
การตั้งชื่อตัวแปรชั่วคราว
ควรใช้รูปแบบแคมเมลเคสเริ่มต้นด้วยตัวพิมพ์เล็ก (ไม่บังคับ)
$articleCount = 100;