यह वास्तव में बहुत आसान है। अपने भंडार से विक्रेता निर्देशिका को छोड़कर सही दृष्टिकोण है। आपका कोड एक अलग स्थान (जैसे src) में संग्रहीत किया जाना चाहिए।
कि संगीतकार अपने नाम स्थान (रों) पहचानता बनाने के लिए autoload संपत्ति का उपयोग करें:
{
"autoload": {
"psr-4": {
"Acme\\": "src/"
}
}
}
मान लिया जाये कि आप psr -4 मानक निम्नलिखित वर्ग के नाम है, यह काम करना चाहिए। वर्ग नाम के कुछ उदाहरण और फाइल सिस्टम पर उनके स्थान नीचे:
- एक्मे \ कमान \ HelloCommand -> src/कमांड/HelloCommand.php
- एक्मे \ फार्म \ प्रकार \ EmployeeType -> src/प्रपत्र/टाइप/EmployeeType.php
प्रत्येक वर्ग के लिए नामस्थान परिभाषित करना याद रखें। यहाँ एक्मे \ कमान \ HelloCommand का एक उदाहरण है:
<?php
namespace Acme\Command;
class HelloCommand
{
}
मत भूलना अपने PHP नियंत्रकों में autoloader शामिल करने के लिए:
<?php
require 'vendor/autoload.php';
के बारे में अधिक PSR-4 standard on PHP Framework Interoperability Group पढ़ें।
ध्यान दें कि यदि आप composer.json
संपादित करते हैं, तो आपको ऑटोलोडर क्लास पथ रीफ्रेश करने के लिए या तो इंस्टॉल, अपडेट या dump-autoload चलाने की आवश्यकता है।
स्रोत
2012-09-03 12:56:53
कोई भी मौका आप एक डमी क्लास या दो के साथ सरल कोड उदाहरणों के साथ उत्तर अपडेट कर सकते हैं? आपके द्वारा लिंक किए गए दस्तावेज़ों को पढ़ने के बावजूद, और विक्रेता/नामों के साथ मेरी निर्देशिका/नेमस्पेसिंग की तुलना करने के बावजूद, मैं अपनी कक्षाओं को लोड नहीं कर सकता। – Letharion
@ लेथरियन ने मेरा जवाब अपडेट किया, उम्मीद है कि इससे मदद मिलेगी। –