PSR-4 ऑटोलोडिंग मानक
समझें कि PSR-4 नेमस्पेस के हिस्सों को डायरेक्टरी पथों से कैसे मैप करता है
PSR-4 ऑटोलोडिंग मानक, CoddyKit पर PHP Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह PHP Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Autoloading क्या है
Autoloading का अर्थ है कि PHP किसी class का पहली बार उपयोग होने पर उसकी file को अपने-आप लोड कर देता है — किसी manual require की आवश्यकता नहीं होती।
Autoloading से पहले
Autoloading के बिना, हर file की शुरुआत दर्जनों require_once calls से होती थी — यह तरीका नाज़ुक और maintain करना कठिन था।
PSR-4 नियम
PSR-4 किसी namespace prefix को base directory से map करता है। दिए गए prefix App\ → src/ के लिए: App\Models\User, src/Models/User.php से load होता है।
Mapping का सूत्र
Prefix हटाइए, बचे हुए backslashes को directory separators से बदलिए और .php जोड़िए।
App\Services\Payment\Stripe → src/Services/Payment/Stripe.php
composer.json का autoload Section
PSR-4 mappings को composer.json में परिभाषित कीजिए। बदलावों के बाद composer dump-autoload चलाइए।
// composer.json
{
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}कई Namespace Prefixes
किसी project में कई PSR-4 mappings हो सकती हैं — यह test namespaces को अलग करने के लिए उपयोगी है।
// composer.json
{
"autoload": { "psr-4": { "App\\": "src/" } },
"autoload-dev": { "psr-4": { "Tests\\": "tests/" } }
}Class Name = File Name
Class name को file name से बिल्कुल मेल खाना चाहिए (Linux पर बड़े-छोटे अक्षरों का अंतर महत्वपूर्ण है)। class UserService को UserService.php में होना चाहिए।
प्रति File एक Class
PSR-4 के अनुसार प्रत्येक file में ठीक एक class, interface या trait होना चाहिए। कई definitions autoloading को तोड़ देती हैं।
PSR-4 बनाम PSR-0
PSR-0 (अब अप्रचलित) directory separators के रूप में class names में underscores का उपयोग करता था। PSR-4 अधिक साफ़ है और वर्तमान standard है।
Generated Autoloader
composer dump-autoload के बाद Composer vendor/autoload.php लिखता है। Entry point पर इसे एक बार require कीजिए।
<?php
require __DIR__.'/vendor/autoload.php';
$user = new App\Models\User(); // autoloads automaticallyClassmap Fallback
Composer उन files के लिए classmap भी बनाता है जो PSR-4 का पालन नहीं करतीं। यह पुराने code के लिए उपयोगी है।
व्यावहारिक Directory Layout
src/
Models/User.php → App\Models\User
Http/Controllers/
UserController.php → App\Http\Controllers\UserControllerत्वरित जाँच
यदि prefix App\\, src/ से map होता है, तो PSR-4 App\Services\Mailer को कहाँ खोजेगा?
एआई शिक्षक के साथ PHP सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 49
- पाठ
- 195
अक्सर पूछे जाने वाले प्रश्न
क्या “PSR-4 ऑटोलोडिंग मानक” पाठ निःशुल्क है?
हाँ—“PSR-4 ऑटोलोडिंग मानक” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और PHP Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“PSR-4 ऑटोलोडिंग मानक” में मैं क्या सीखूँगा?
समझें कि PSR-4 नेमस्पेस के हिस्सों को डायरेक्टरी पथों से कैसे मैप करता है आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ PHP Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या PHP Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर PHP Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“PSR-4 ऑटोलोडिंग मानक” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस PHP Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर PHP Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- नेमस्पेस घोषित करना और उनका उपयोग
- नेस्टेड नेमस्पेस और उपनाम
- PSR-4 ऑटोलोडिंग मानक
- ऑटोलोडर पंजीकृत करना