পিএইচপি-তে, HEREDOC স্ট্রিং ঘোষণাগুলি এইচটিএমএলের একটি ব্লক আউটপুট দেওয়ার জন্য সত্যই কার্যকর useful আপনি এটিকে কেবল $ দিয়ে উপস্থাপনের মাধ্যমে ভেরিয়েবলগুলিতে বিশ্লেষণ করতে পারেন তবে আরও জটিল বাক্য গঠন (যেমন $ var [2] [3]) এর জন্য আপনাকে নিজের প্রকাশটি ces ces ধনুর্বন্ধনীগুলির মধ্যে রাখতে হবে।
পিএইচপি 5, এটা হয় আসলে {} একটি HEREDOC স্ট্রিং ভিতরে ধনুর্বন্ধনী মধ্যে ফাংশন কল করার জন্য সম্ভব, কিন্তু আপনি কাজ একটি বিট মাধ্যমে যেতে হবে। ফাংশনটির নামটি নিজেই একটি ভেরিয়েবলে সংরক্ষণ করতে হবে এবং আপনাকে এটি ডায়ামিনিক-নামক ফাংশনটির মতো কল করতে হবে। উদাহরণ স্বরূপ:
$fn = 'testfunction';
function testfunction() { return 'ok'; }
$string = <<< heredoc
plain text and now a function: {$fn()}
heredoc;
আপনি দেখতে পাচ্ছেন যে এটি কেবল চেয়ে কিছুটা বেশি অগোছালো:
$string = <<< heredoc
plain text and now a function: {testfunction()}
heredoc;
প্রথম কোড উদাহরণের পাশাপাশি আরও কিছু উপায় রয়েছে যেমন ফাংশনটি কল করার জন্য HEREDOC ভেঙে ফেলা, বা সমস্যাটি বিপরীত করা এবং এর মতো কিছু করা:
?>
<!-- directly output html and only breaking into php for the function -->
plain text and now a function: <?PHP print testfunction(); ?>
পরবর্তীটির অসুবিধা রয়েছে যে আউটপুট সরাসরি আউটপুট স্ট্রিমের মধ্যে রাখা হয় (যদি না আমি আউটপুট বাফারিং ব্যবহার করি), যা আমি চাই তা নাও হতে পারে।
সুতরাং, আমার প্রশ্নের সারমর্মটি হ'ল: এটির কাছে যাওয়ার জন্য আরও কি মার্জিত উপায় আছে?
প্রতিক্রিয়াগুলির উপর ভিত্তি করে সম্পাদনা করুন: এটি অবশ্যই মনে হয় যে কোনও ধরণের টেম্পলেট ইঞ্জিন আমার জীবনকে আরও সহজ করে তুলবে, তবে এটির মূলত আমার স্বাভাবিক পিএইচপি স্টাইলটি উল্টানো দরকার। এটি কোনও খারাপ জিনিস নয়, তবে এটি আমার জড়তা ব্যাখ্যা করে .. আমি যদিও জীবনকে আরও সহজ করে তোলার উপায়গুলি সন্ধান করি, তাই আমি এখন টেমপ্লেটগুলি সন্ধান করছি।
Text {$string1} Text {$string2} Textহেরডোকের মতো কিছু ব্যবহার করতে পারি ।