2011-11-23 11 views

उत्तर

9

the documentation regarding strings

DEFINE('PREFIX','/holiday'); 

$const = PREFIX; 

echo <<<EOD 
<img src="{$const}/images/hello.png" /> 
EOD; 
+0

धन्यवाद की कोशिश करो! थोड़ा नोट जोड़ना: '$ const/images/hello.png' भी काम करेगा। इस उदाहरण में – moey

+0

घुंघराले ब्रैकेट की आवश्यकता नहीं है। – wlf

+0

इसके अलावा आप '$ consts = get_defined_constants(); 'सभी परिभाषित करने के लिए और फिर' {$ consts [' PREFIX ']} 'के साथ पहुंच प्राप्त करने के लिए उपयोग कर सकते हैं। – PhoneixS

2
से हियरडॉक वाक्य-विन्यास के भीतर इस्तेमाल

स्थिरांक लिया व्याख्या नहीं कर रहे हैं!

संपादक का नोट: यह सच है। PHP में हेड्रोक ब्लॉक के भीतर वर्णों की किसी भी अन्य स्ट्रिंग से को पहचानने का कोई तरीका नहीं है।

Source

+0

ऐसा लगता है कि उस नियम का अपवाद है: http://stackoverflow.com/a/12508992/367456 – hakre

5

अगर आप 1 से अधिक स्थिर है, चर उपयोग मुश्किल होगा। इसलिए इस विधि

define('PREFIX', '/holiday'); 
define('SUFFIX', '/work'); 
define('BLABLA', '/lorem'); 
define('ETC', '/ipsum'); 

$cname = 'constant'; // if you want to use a function in heredoc, you must save function name in variable 

$body = <<<EOD 
<img src="{$cname('PREFIX')}/images/hello.png" /> 
<img src="{$cname('SUFFIX')}/images/hello.png" /> 
<img src="{$cname('BLABLA')}/images/hello.png" /> 
<img src="{$cname('ETC')}/images/hello.png" /> 
EOD; 

http://codepad.org/lA8L2wQR

+0

मैंने कोशिश करने के लिए आपके सुझाव का पालन किया क्योंकि मैंने सोचा कि यह दिलचस्प है, हालांकि यह मेरे दिमाग में आया कि आपका सुझाव दिखता है अवांछित, क्योंकि यह कई त्रुटियों देता है। – hakre

+0

मैंने जवाब बदल दिया है। –

+0

यह मेरे लिए अच्छा काम करता है! –

संबंधित मुद्दे