खोज…


परिचय

PSR (PHP Standard अनुशंसा) FIG (फ्रेमवर्क इंटरोप ग्रुप) द्वारा एक साथ रखी गई सिफारिशों की एक श्रृंखला है।

"समूह के पीछे का विचार परियोजना प्रतिनिधियों के लिए हमारी परियोजनाओं के बीच समानता के बारे में बात करने और उन तरीकों को खोजने के लिए है जो हम एक साथ काम कर सकते हैं" - FWS FAQ

पीएसआर निम्नलिखित राज्यों में हो सकते हैं: स्वीकृत, समीक्षा, मसौदा या पदावनत।

PSR-4: ऑटोलैडर

PSR-4 एक स्वीकृत सिफारिश है जो फाइलनाम के माध्यम से ऑटोलॉडिंग कक्षाओं के लिए मानक रूपरेखा है। यह सिफारिश पहले (और अब पदावनत) PSR-0 के विकल्प के रूप में की जाती है।

पूरी तरह से योग्य वर्ग नाम निम्नलिखित आवश्यकता से मेल खाना चाहिए:

 \<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>
  • यह एक शीर्ष स्तर के विक्रेता नामस्थान होना चाहिए (जैसे: Alphabet )
  • इसमें एक या एक से अधिक उप-नामस्थान हो सकते हैं (उदा: Google\AdWord )
  • इसमें एक समाप्त वर्ग का नाम होना चाहिए (उदाहरण: KeywordPlanner )

इस प्रकार अंतिम वर्ग का नाम Alphabet\Google\AdWord\KeywordPlanner । पूरी तरह से योग्य वर्ग का नाम भी सार्थक फ़ाइल पथ में अनुवाद होना चाहिए इसलिए Alphabet\Google\AdWord\KeywordPlanner [path_to_source]/Alphabet/Google/AdWord/KeywordPlanner.php में स्थित होगा

PHP 5.3.0 के साथ शुरू, एक कस्टम ऑटोलैडर फ़ंक्शन को आपके द्वारा परिभाषित पथ और फ़ाइल नाम पैटर्न के आधार पर फ़ाइलों को लोड करने के लिए परिभाषित किया जा सकता है।

# Edit your php to include something like:
spl_autoload_register(function ($class) { include 'classes/' . $class . '.class.php';});

आपके संरचना पर लागू होने वाले मानों के साथ स्थान ('कक्षाएं /') और फ़ाइल नाम एक्सटेंशन ('.class.php') को बदलना।

संगीतकार पैकेज प्रबंधक PSR-4 का समर्थन करता है, जिसका अर्थ है, यदि आप मानक का पालन करते हैं, तो आप अपने प्रोजेक्ट में अपनी कक्षाओं को स्वचालित रूप से संगीतकार के विक्रेता ऑटोलैडर का उपयोग करके लोड कर सकते हैं।

# Edit the composer.json file to include
{
    "autoload": {
        "psr-4": {
            "Alphabet\\": "[path_to_source]"
        }
    }
}

ऑटोलैडर फ़ाइल को पुन: बनाएँ

$ composer dump-autoload

अब आपके कोड में आप निम्न कार्य कर सकते हैं:

<?php

require __DIR__ . '/vendor/autoload.php';
$KeywordPlanner = new Alphabet\Google\AdWord\KeywordPlanner();

PSR-1: मूल कोडिंग मानक

PSR-1 एक स्वीकृत सिफारिश है और कोड कैसे लिखा जाना चाहिए, इसके लिए एक बुनियादी मानक सिफारिश की रूपरेखा तैयार की गई है।

  • यह वर्गों, विधियों और स्थिरांक के नामकरण की रूपरेखा प्रस्तुत करता है।
  • यह PSR-0 या PSR-4 सिफारिशों को अपनाने की आवश्यकता को पूरा करता है।
  • यह इंगित करता है कि कौन से PHP टैग का उपयोग करना है: <?php और <?= लेकिन नहीं <?
  • यह निर्दिष्ट करता है कि किस फ़ाइल एन्कोडिंग का उपयोग करना है (UTF8)।
  • यह भी बताता है कि फ़ाइलों को या तो नए प्रतीकों (वर्गों, कार्यों, स्थिरांक, आदि) की घोषणा करनी चाहिए और कोई अन्य दुष्प्रभाव नहीं होना चाहिए, या साइड इफेक्ट्स के साथ तर्क निष्पादित करना और प्रतीकों को परिभाषित नहीं करना चाहिए, लेकिन दोनों करें।

PSR-8: Huggable इंटरफ़ेस

PSR-8 एक स्पूफ PSR ( वर्तमान में ड्राफ्ट में ) लैरी गारफील्ड द्वारा अप्रैल फूल 2014 के रूप में अप्रैल फूल के रूप में प्रस्तावित है

मसौदा बताता है कि किसी वस्तु को Huggable करने योग्य बनाने के लिए इंटरफ़ेस को कैसे परिभाषित किया जाए।

कोड की रूपरेखा से उत्‍तर:

<?php

namespace Psr\Hug;

/**
 * Defines a huggable object.
 *
 * A huggable object expresses mutual affection with another huggable object.
 */
interface Huggable
{

    /**
     * Hugs this object.
     *
     * All hugs are mutual. An object that is hugged MUST in turn hug the other
     * object back by calling hug() on the first parameter. All objects MUST
     * implement a mechanism to prevent an infinite loop of hugging.
     *
     * @param Huggable $h
     *   The object that is hugging this object.
     */
    public function hug(Huggable $h);
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow