खोज…


autoloading

ऑटोलैड जानकारी निर्दिष्ट करने वाले पुस्तकालयों के लिए, संगीतकार एक विक्रेता / ऑटोलैड.php फ़ाइल बनाता है। आप बस इस फ़ाइल को शामिल कर सकते हैं और आपको मुफ्त में ऑटोलडिंग मिलेगी।

require __DIR__ . '/vendor/autoload.php';

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

$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log->addWarning('Foo');

तुम भी autoloader के लिए अपना खुद का कोड जोड़ सकते हैं एक autoload क्षेत्र को composer.json से जोड़कर

{
    "autoload": {
        "psr-4": {"Acme\\": "src/"}
    }
}

संगीतकार एक्मे नेमस्पेस के लिए एक PSR-4 ऑटोलोडर पंजीकृत करेगा।

आप नामस्थानों से निर्देशिकाओं तक एक मानचित्रण परिभाषित करते हैं। src निर्देशिका आपके प्रोजेक्ट रूट में होगी, उसी स्तर पर जब विक्रेता निर्देशिका होगी। एक उदाहरण फ़ाइल नाम src/Foo.php जिसमें Acme\Foo वर्ग होगा।

ऑटोलैड फ़ील्ड को जोड़ने के बाद, आपको vendor/autoload.php फाइल को री-जेनरेट करने के लिए dump-autoload को फिर से चलाना होगा।

उस फ़ाइल को शामिल करने से ऑटोलैडर उदाहरण भी वापस आ जाएगा, इसलिए आप एक चर में शामिल कॉल के रिटर्न मूल्य को स्टोर कर सकते हैं और अधिक नामस्थान जोड़ सकते हैं। उदाहरण के लिए, टेस्ट सूट में ऑटोलोडिंग कक्षाओं के लिए यह उपयोगी हो सकता है।

$loader = require __DIR__ . '/vendor/autoload.php';
$loader->add('Acme\\Test\\', __DIR__);

PSR-4 ऑटोलॉडिंग के अलावा, संगीतकार PSR-0, क्लासमेट और फाइलों को ऑटोलोदिंग का भी समर्थन करता है।



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