यदि आपका एक बार आप उपयोग कर सकते हैं पर प्रत्येक वर्ग को परिभाषित करने के बिना वर्गों के एक समूह में शामिल करने के लिए देख:
$directories = array(
'system/',
'system/db/',
'system/common/'
);
foreach ($directories as $directory) {
foreach(glob($directory . "*.php") as $class) {
include_once $class;
}
}
इस तरह से आप कर सकते हैं j ust कक्षा वाले PHP फ़ाइल पर कक्षा को परिभाषित करें और $thisclass = new thisclass();
की पूरी सूची नहीं है, यह कितनी अच्छी तरह से सभी फ़ाइलों को संभालती है? मुझे यकीन नहीं है कि इसके साथ थोड़ी सी गति कम हो सकती है।
$dir = "classes/";
$dh = opendir($dir);
$dir_list = array($dir);
while (false !== ($filename = readdir($dh))) {
if($filename!="."&&$filename!=".."&&is_dir($dir.$filename))
array_push($dir_list, $dir.$filename."/");
}
foreach ($dir_list as $dir) {
foreach (glob($dir."*.php") as $filename)
require_once $filename;
}
मत भूलना कि यह वर्णमाला क्रम का उपयोग करेगा अपनी फ़ाइलें शामिल करने के लिए:
स्रोत
2013-12-30 20:04:25
मैंने सोचा कि वहां एक होगा क्लीनर देखने का तरीका शामिल()। लेकिन यह ठीक होगा। सबको धन्यवाद। – occhiso
मैं कॉन्फ़िगरेशन फ़ाइल के साथ एक उचित मॉड्यूल सिस्टम का निर्माण करूंगा, लेकिन ऐसा इसलिए है क्योंकि मुझे बस * सबकुछ * से अधिक लचीला लगता है। :-) – staticsan
ध्यान, केवल वर्तमान निर्देशिका में फ़ाइलों को शामिल करने के लिए काम करता है। Get_include_path() के माध्यम से पुन: प्रयास करना संभव होगा, लेकिन यह जल्दी से थकाऊ हो जाएगा। – nalply