Написание кода PHP в файл - PullRequest
       11

Написание кода PHP в файл

4 голосов
/ 09 апреля 2009

Мне интересно, можно ли записать код php в файл. Например:

fwrite($handle, "<?php $var = $var2 ?>");

Я бы хотел, чтобы в файле была точная строка, а не eval'ed код. Возможно ли это?

В настоящее время я получаю следующий вывод (где $ var = 1 и $ var2 = 2):

<?php 1 = 2 ?>

В то время как я хочу фактическую строку:

<?php $var = $var2 ?>

Спасибо за помощь

Ответы [ 4 ]

20 голосов
/ 09 апреля 2009

Вы можете использовать одинарные кавычки вместо двойных кавычек, которые не расширяют имена встроенных переменных:

fwrite($handle, '<?php $var = $var2 ?>');
4 голосов
/ 12 апреля 2009

Просто экранируйте символ $

<?php
fwrite($handle, "<?php \$var = \$var2 ?>");
?>
3 голосов
/ 09 апреля 2009

строки в двойных кавычках анализируются для переменных, и значение переменной вставляется в эту позицию. Я полагаю, это потому, что изначально PHP был спроектирован как тонкий слой шаблонизатора базы данных веб-сервера.

лично, мне это не нравится, и я никогда не использую двойные кавычки из-за этого. вместо этого я всегда использую одинарные кавычки и коннентацию строки:

<?php echo 'hello, ' . $name; ?>

делает так же, как:

<?php echo "hello, $name"; ?>

одинарные кавычки: лучше работает синтаксическая раскраска, она (незначительно) быстрее и ошибки легче обнаруживаются

0 голосов
/ 09 апреля 2009

Это не имеет ничего общего с файлом IO. Прочитайте о подстановке переменных и экранировании в строках в PHP.

...