|
|
|
| Имеется:
php-файл:
$a = "a";
$b = "b";
// и т. д.
paste_file("file.html");
function paste_file($file_name)
{
include($file_name);
}
|
file.html:
<ul>
<li>a: <?=$a?></li>
<li>b: <?=$b?></li>
<!-- И т. д. -->
</ul>
|
Можно ли определить для функции paste_file все используемые в файле file.html переменный как глобальные, чтобы инструкции <?=$Имя_переменной?> выполнялись успешно? | |
|
|
|
|
|
|
|
для: beng2
(19.05.2006 в 19:14)
| | Может лучше использовать require всместо include.... | |
|
|
|
|
|
|
|
для: mmaks
(19.05.2006 в 19:21)
| | Это не решает моей проблемы
А почему require вместо include? | |
|
|
|
|
|
|
|
для: beng2
(19.05.2006 в 20:34)
| |
function paste_file($file_name)
{
global $a, $b;
include($file_name);
}
|
| |
|
|
|
|
|
|
|
для: ec_stasis
(19.05.2006 в 20:47)
| | Этот вариант не подходит, т. к. заранее не известно, какие переменные будут использоваться в файле | |
|
|
|
|
|
|
|
для: beng2
(19.05.2006 в 21:09)
| | тогда передавать эти переменные функции как аргументы. Если количество переменных неизвестно, тогда передавать массив. | |
|
|
|
|
|
|
|
для: ec_stasis
(19.05.2006 в 21:26)
| | Количество переменных заранее не известно (см. первый пост). Как может решить эту проблему передача массива я не понял. | |
|
|
|
|
|
|
|
для: beng2
(19.05.2006 в 21:36)
| | когда объявляешь функцию, не надо заботиться, сколько у нее должно быть аргументов (всегда будет один). а эти переменные записывать в массив. | |
|
|
|
|
|
|
|
для: ec_stasis
(19.05.2006 в 22:13)
| | Можно пример кода? Как я понимаю, необходимо изменить текст и вызов функции paste_file, при этом инструкции <?=$имя_переменной?> в файле file.html будут корректно обработаны. | |
|
|
|
|
|
|
|
для: beng2
(19.05.2006 в 22:27)
| | Я пишу обычно так
<?php
$vars['a'] = "a";
$vars['b'] = "b";
// и т. д.
paste_file("file.php", $vars);
function paste_file($file_name, $vars)
{
include($file_name);
}
?>
|
| |
|
|
|
|
|
|
|
для: Artem S.
(19.05.2006 в 22:47)
| | .. и после подключения файла file.html (см. первый пост)
<ul>
<li>a: <?=$a?></li>
<li>b: <?=$b?></li>
<!-- И т. д. -->
</ul>
|
мы получим "Undefined variable" | |
|
|
|
|
|
|
|
для: beng2
(19.05.2006 в 22:27)
| | чтобы они были корректно обработаны, надо еще воспользоваться ф-ией extract(), т.е.:
<?php
$vars['a'] = "a";
$vars['b'] = "b";
// и т. д.
paste_file("file.php", $vars);
function paste_file($file_name, $vars)
{
extract($vars);
include($file_name);
}
?>
|
| |
|
|
|
|
|
|
|
для: ec_stasis
(19.05.2006 в 23:22)
| | Спасибо | |
|
|
|