मैं वर्तमान में अपने ढांचे के लिए एक विस्तार तंत्र के साथ प्रयोग कर रहा हूं। प्रत्येक मॉड्यूल में कम से कम एक PHP फ़ाइल (एक वर्ग को परिभाषित करना) और एक एक्सएसएल स्टाइलशीट होता है लेकिन संभावित रूप से कई अन्य फाइलें शामिल की जा सकती हैं, इसलिए मैंने तुरंत फ़ार का उपयोग करने के बारे में सोचा।न्यूनतम PHP फ़ार स्टब
सबकुछ अच्छी तरह से खेल रहा है लेकिन मैंने देखा कि अगर मैंने createDefaultStub()
का उपयोग नहीं किया है और इसके बजाय फ़ार को निम्नलिखित स्निपेट में बनाया है तो परिणाम आकार का एक चौथाई हिस्सा है - और संपीड़ित संस्करण से छोटा है।
$phar = new Phar('Example.phar', 0, 'Example.phar');
$phar->buildFromDirectory(__DIR__ . '/src');
$phar->setStub('<?php __HALT_COMPILER();');
$phar->setSignatureAlgorithm(Phar::SHA256);
$phar->compress(Phar::GZ);
उदाहरण फ़ाइल आकार:
8799 14 Dec 09:37 ExampleCog.phar (using createDefaultStub())
2143 14 Dec 10:08 ExampleCog.phar (using __HALT_COMPILER())
3373 14 Dec 10:08 ExampleCog.phar.gz (consistent with either method)
फर बस मॉड्यूल-विशिष्ट फ़ाइलों एक साथ बंडल रखने के लिए और एक रूपरेखा में शामिल किया जाएगा उपयोग किया जाएगा - इस में कोई मतलब नहीं होगा चल स्टैंडअलोन संदर्भ। मुझे लगता है कि मेरा सवाल यह है कि, मैं क्या खो रहा हूं - अगर कुछ भी - न्यूनतम स्टब कोड का उपयोग करने के साथ? और संपीड़ित संस्करण हमेशा एक ही आकार क्यों है?
+1: बहुत उपयोगी और अच्छी तरह लिखा गया। –