2011-10-18 31 views
8

Tôi muốn để lưu trữ các đoạn mã sau trong một biến HEREDOC:Làm thế nào để lưu trữ mã PHP bên trong biến Heredoc?

<?php 

$var = 'test'; 
echo $var; 

?> 

như thế:

$hered = <<<HERED 
<?php 

$var = 'test'; 
echo $var; 

?> 
HERED; 

Vấn đề là HEREDOC hoạt động như dấu ngoặc kép "" - đó có nghĩa là mỗi ký hiệu đô la ($) phải được thay thế bằng \$ ...

Có cách nào để sử dụng HEREDOC mà không thực hiện thao tác như vậy không?

+3

Câu hỏi nên là: tại sao bạn muốn làm điều này? Những gì bạn đang làm ở đây trông giống như mùi mã cho tôi. – bouke

+1

Nếu bạn đang làm điều này để 'eval' sau này: xin vui lòng không! – middus

Trả lời

14

Có, có. Xem cú pháp nowdoc:

$hello = 'hey'; 
$echo <<<'EOS' 
$hello world! 
EOS; 
//Output: $hello world 
+0

Điều này chỉ hoạt động php v5.3 + – Ryan

+2

PHP 5.2 đã hết hạn 2,5 năm trước. Không có bản cập nhật bảo mật nào hơn cho các phiên bản PHP cũ kể từ đó, vì vậy bất kỳ ai vẫn chạy PHP trước 5.3 nên lập kế hoạch nâng cấp càng sớm càng tốt. –

Các vấn đề liên quan