"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > PHP में PSR स्वचालित लोडिंग मानकों की विस्तृत व्याख्या

PHP में PSR स्वचालित लोडिंग मानकों की विस्तृत व्याख्या

2025-04-29 को पोस्ट किया गया
ब्राउज़ करें:176

PSR-Autoloading Standard in PHP

ahnii!

] पिछले हफ्ते, मैंने एक टीम को उनके विरासत ऐप को अपग्रेड करने में मदद की - 50 से अधिक

की आवश्यकता स्टेटमेंट प्रति फ़ाइल! आइए देखें कि PSR-4 Autoloading इसे कैसे हल करता है। PSR-4 (5 मिनट) को समझना

PSR-4 आपके कोड का स्वचालित फ़ाइल लोकेटर है। पते का उपयोग करके एक जीपीएस की तरह, PSR-4 कक्षाओं को खोजने के लिए नामस्थान का उपयोग करता है।

प्रमुख अवधारणाएं (2 मिनट)

] इसे अपनी कक्षा के पूर्ण पते के रूप में सोचें।

  1. वास्तविक दुनिया का उदाहरण (10 मिनट) परियोजना संरचना:
  2. विक्रेता/ └ जोन्सरसेल/ └ ब्लॉग/ ├ संगीतकार। JSON └ SRC/ └ पोस्ट/ ├ PostController.php └ पोस्ट्रिपोसिटरी.फैप
  3. संगीतकार की स्थापना (3 मिनट)

संगीतकार।

{ "नाम": "जोन्सरसेल/ब्लॉग", "ऑटोलैड": { "PSR-4": { "जोन्सरसेल \\ ब्लॉग \\": "एसआरसी/" } } }

vendor/
└── jonesrussell/
    └── blog/
        ├── composer.json
        └── src/
            └── Post/
                ├── PostController.php
                └── PostRepository.php

php नेमस्पेस जोन्सरसेल \ ब्लॉग \ पोस्ट; कक्षा के बाद का नाम { सार्वजनिक कार्य सूचकांक () { वापसी ['स्थिति' => 'ब्लॉग के लिए तैयार!']; } }

सामान्य पैटर्न (5 मिनट)

कई नाम स्थान जड़ें:
{
    "name": "jonesrussell/blog",
    "autoload": {
        "psr-4": {
            "JonesRussell\\Blog\\": "src/"
        }
    }
}

]

php Namespace Jonsrussell \ Blog \ Core \ Database; वर्ग संबंध { निजी $ कॉन्फ़िगरेशन; सार्वजनिक कार्य __construct (सरणी $ कॉन्फ़िगरेशन) { $ यह-> config = $ config; } }

फ्रेमवर्क उदाहरण (5 मिनट)
 'Ready to blog!'];
    }
}

php Namespace App \ HTTP \ कंट्रोलर; क्लास ब्लॉगकंट्रोलर कंट्रोलर का विस्तार करता है { सार्वजनिक कार्य सूचकांक () { वापसी दृश्य ('blog.index'); } }

सिम्फनी उदाहरण:
{
    "autoload": {
        "psr-4": {
            "JonesRussell\\Blog\\": "src/",
            "JonesRussell\\Blog\\Tests\\": "tests/"
        }
    }
}

समस्या निवारण (3 मिनट)

] ]
config = $config;
    }
}

php 'विक्रेता/ऑटोलोड.फपी' की आवश्यकता है; $ कंट्रोलर = new \ _ JonesRussell \ Blog \ Post \ PostController (); var_dump ($ नियंत्रक-> सूचकांक ()); // आउटपुट "ब्लॉग के लिए तैयार!"

अगले कदम

अगला, हम PSR-6 (कैशिंग) को कवर करेंगे। यह हमारे PSR मानक श्रृंखला का हिस्सा है।

आधिकारिक PSR-4 विनिर्देश

] ]
            
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3