अनुप्रयोग प्लगइन विकास मानक

अनुप्रयोग प्लगइन आवश्यकताएँ

  • प्लगइन में मौलिकता का उल्लंघन करने वाला कोड, आइकन, चित्र आदि नहीं होना चाहिए।
  • प्लगइन का सोर्स कोड पूर्ण होना चाहिए, और इसे एन्क्रिप्ट नहीं किया जा सकता।
  • प्लगइन को पूर्ण कार्यक्षमता होनी चाहिए, इसे साधारण कार्य के रूप में नहीं होना चाहिए।
  • पूर्ण कार्यक्षमता का परिचय, दस्तावेज प्रदान करना आवश्यक है।
  • प्लगइन में सहयोगी कार्यक्षमता का उपयोग करने की सिफारिश नहीं की जाती है, क्योंकि उपयोगकर्ता ने संभवतः सहयोगी कार्यक्षमता को सक्रिय नहीं किया होगा।

अनुप्रयोग प्लगइन पहचान

प्रत्येक अनुप्रयोग प्लगइन की एक अद्वितीय पहचान होती है, जो अक्षरों से बनी होती है। यह पहचान अनुप्रयोग प्लगइन के स्रोत कोड निर्देशिका नाम, कक्षा के नामस्थान, और प्लगइन डेटाबेस तालिका उपसर्ग को प्रभावित करती है।

मान लीजिए कि विक्रेता ने foo को प्लगइन पहचान के रूप में उपयोग किया है, तो प्लगइन का सोर्स कोड स्थित निर्देशिका होगी {मुख्य परियोजना}/plugin/foo , और संबंधित प्लगइन का नामस्थान होगा plugin\foo , तालिका उपसर्ग होगा foo_

चूंकि पहचान संपूर्ण इंटरनेट पर अद्वितीय है, इसलिए विक्रेता को विकास से पहले पहचान की उपलब्धता की जांच करनी चाहिए। जांच पते अनुप्रयोग पहचान जांच पर करें।

डेटाबेस

  • तालिका नाम में छोटे अक्षर a-z और अंडरस्कोर _ शामिल होने चाहिए।
  • प्लगइन डेटा तालिका का उपसर्ग प्लगइन पहचान होना चाहिए, जैसे कि foo प्लगइन का article तालिका होगा foo_article
  • तालिका का प्राथमिक कुंजी id पर अनुक्रमित होना चाहिए।
  • संग्रहण इंजन में समान रूप से innodb इंजन का उपयोग किया जाना चाहिए।
  • वर्ण सेट में समान रूप से 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
    {

    }
}

टिप्पणियाँ

कक्षा के गुण और विधियों को टिप्पणियों के साथ शामिल करना चाहिए, जिसमें सारांश, पैरामीटर, वापसी प्रकार शामिल हैं।

इंडेंटेशन

कोड को 4 स्पेस का उपयोग करके इंडेंट किया जाना चाहिए, न कि टैब का उपयोग करके।

प्रक्रियात्मक नियंत्रण

प्रक्रियात्मक नियंत्रण कुंजीशब्द (if, for, while, foreach आदि) के बाद एक स्पेस होना चाहिए, और प्रक्रियात्मक नियंत्रण कोड की शुरुआत का कर्ली ब्रेकेट समाप्ति गोल ब्रेकेट के उसी पंक्ति में होना चाहिए।

foreach ($users as $uid => $user) {

}

अस्थायी चर नाम

छोटे अक्षर से शुरू होने वाले कैमेल केस में नामकरण की सिफारिश की जाती है (अनिवार्य नहीं)।

$articleCount = 100;