जहां तक मेरा the manual में देख सकते हैं, यह संभव नहीं हियरडॉक तार अंदर कार्यों कॉल करने के लिए है। एक बोझिल रास्ता शब्द पहले से तैयार करने के लिए किया जाएगा:
<?php
$world = _("World");
$str = <<<EOF
<p>Hello</p>
<p>$world</p>
EOF;
echo $str;
?>
एक समाधान यह विचार है कि मन एक magic getter method के साथ एक वर्ग बनाने जा रहा है की बात आती है।
आप इस प्रकार का वर्ग घोषणा करेंगे:
class Translator
{
public function __get($name) {
return _($name); // Does the gettext lookup
}
}
कुछ बिंदु पर वर्ग की एक वस्तु प्रारंभ:
$translate = new Translator();
फिर आप निम्न सिंटैक्स का उपयोग कर सकते हैं एक के अंदर एक gettext देखने करने के लिए हेरडोक ब्लॉक:
$str = <<<EOF
<p>Hello</p>
<p>{$translate->World}</p>
EOF;
echo $str;
?>
$translate->World
स्वचालित रूप से ट्रैक्टर होगा जादू गेटटर विधि के लिए gettext लुकअप धन्यवाद के लिए nslated।
रिक्ति या विशेष वर्ण के साथ शब्दों के लिए इस विधि का उपयोग करने के लिए (उदाहरण के लिए एक gettext Hello World!!!!!!
नामित प्रविष्टि, तो आपको निम्न संकेतन का उपयोग करना होगा:।
$translate->{"Hello World!!!!!!"}
यह सब अपरीक्षित है, लेकिन काम करना चाहिए
अद्यतन: जैसा कि @ मारियो पता चला है, हेरडोक तारों से कार्यों को कॉल करना संभव है। मुझे लगता है कि इस तरह के गेटर्स का उपयोग करना एक चिकना समाधान है, लेकिन प्रत्यक्ष फ़ंक्शन कॉल का उपयोग करना आसान हो सकता है। कैसे यह करो।
स्रोत
2010-09-12 09:26:55
@FFish आपका स्वागत है। यह अवांछित है इसलिए मैं आपको कुल गारंटी नहीं दे सकता लेकिन जहां तक मैं देख सकता हूं, यह काम करेगा। अधिक जटिल गेटटेक्स्ट पहचानकर्ताओं –
वाह, गेटर्स के बहुत मुश्किल/योजनाबद्ध उपयोग से निपटने के तरीके के लिए मेरा नवीनतम अपडेट (रिक्त स्थान और विशेष वर्णों के बारे में) देखें। – mario
बाहर निकलता है आप फ़ंक्शन कॉल का उपयोग कर सकते हैं। '$ _ =" _ ";' और '{$ _ ('text')}' 'के साथ। लेकिन गेटर सिंटैक्स +1 है। – mario