มาตรฐานการพัฒนาปลั๊กอินแอปพลิเคชัน

ข้อกำหนดสำหรับปลั๊กอินแอปพลิเคชัน

  • ปลั๊กอินต้องไม่มีโค้ดที่ละเมิดลิขสิทธิ์ เช่น ไอคอน รูปภาพ เป็นต้น
  • โค้ดต้นฉบับของปลั๊กอินต้องเป็นโค้ดที่สมบูรณ์และต้องไม่ได้ถูกเข้ารหัส
  • ปลั๊กอินต้องมีคุณสมบัติที่สมบูรณ์ และไม่สามารถเป็นคุณสมบัติที่เรียบง่าย
  • ต้องมีการให้บริการที่เพียงพอเพื่อคุณสมบัติและเอกสาร
  • ปลั๊กอินต้องไม่มีท้องตลาดย่อย
  • ปลั๊กอินต้องไม่มีข้อความหรือลิงก์โปรโมทใดๆ

การระบุปลั๊กอินแอปพลิเคชัน

แต่ละปลั๊กอินแอปพลิเคชันมีการระบุที่เป็นเอกลักษณ์ โดยใช้ตัวอักษรเท่านั้น เริ่มต้น โค้ดต้นของปลั๊กอินจะอยู่ที่ {โปรเจกต์หลัก}/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;