สิ่งที่ฉันพบ บนอินเทอร์เน็ต
\Blade::directive('hello', function ($expression) {
list($greet, $name) = explode(', ', $expression);
return "<?php echo {$greet} . ' ' . {$name}; ?>";
});
รู้สึกว่า ณ รันไทม์ฟังก์ชันจะถูกเรียกใช้ แล้วทำไมไม่ทำเฉย.
\Blade::directive('hello', function ($expression) {
list($greet, $name) = explode(', ', $expression);
return $greet . ' ' . $name;
});
ฉันได้เห็นตัวอย่างมากมายตามรูปแบบ return "<?php echo ..."
และฉันไม่เข้าใจประเด็นจริงๆ
แก้ไข เพื่อชี้แจงจากความคิดเห็นและคำตอบ สมมติฐานหลักเป็นตัวหนา:
ในตัวอย่างแรก $expression ถูกระเบิดในฟังก์ชัน ฉันสงสัยว่า Blade จะระเบิดแบบไดนามิกจากโค้ด php ที่ส่งคืนได้อย่างไร โค้ดดังกล่าวทำให้ฉันเชื่อว่า ทั้งฟังก์ชันคำสั่งและโค้ดที่ส่งคืนทำงานในการเรนเดอร์แต่ละครั้ง
ประการที่สอง หาก คำสั่ง return มีแท็กเปิด PHP ฉันเดาว่า มันถูกประมวลผลเป็นสคริปต์ PHP มาตรฐาน แล้วทำไมไม่ส่งคืนสตริงล่ะ
return "<?php echo {$greet} . ' ' . {$name}; ?>";
ต่อไปนี้เป็นผลลัพธ์สุดท้ายที่ควรจะแทนที่คำสั่ง ถ้ากลับมาก็ไม่มีอะไร.. เป็นความรับผิดชอบของผู้ดูแลที่จะทำสิ่งที่คุณต้องการทำ - person The Alpha   schedule 01.02.2018