#php #echo
#php #эхо
Вопрос:
Итак, в основном то, что я пытаюсь сделать, вызывает функцию на моей главной странице PHP из файла .php, который предназначен только для обработки данных. Эта функция в основном вызывает echo. Я хочу вызвать эту функцию таким образом, чтобы она действительно отражалась там, где она находится, а не там, откуда она вызывается. Есть ли способ сделать это?
php в index.php:
<?php
function writeNot($text) {
echo '<script type="text/javascript">',
"addNotification("$text");",
'</script>';
}
?>
php в process.php:
writeNot('The file has been successfully uploaded!');
Я ожидаю, что функция повторяет HTML (который вызывает некоторые Js) в index.php , но я предполагаю, что это перекликается с process.php файл, который мне на самом деле не нужен.
Комментарии:
1. «Где он находится» означает, где вы объявляете функцию?
2. Ваш код должен быть более читабельным.
3. @Johannes Да. Я именно это и имел в виду.
Ответ №1:
Используйте return вместо echo
<?php
function writeNot($text) {
return'<script type="text/javascript">',
"addNotification("$text");",
'</script>';
}
?>
Затем используйте echo, чтобы распечатать строку, возвращаемую из функции
echo writeNote($text);
И вы должны вызвать функцию внутри index.php чтобы выполнить его
Комментарии:
1. Хотя я согласен, что в целом это хороший подход, приведенный вами код дает точно такие же результаты, как и оригинал.
2. Это делает именно то, что
echo
делает, потому что функция всегда выполняется в момент вызоваwriteNote()
, а не ее объявления.3. Да, как я понял из вопроса, он хочет установить вывод функции и повторно использовать ее.
4. Извините, я неправильно понял вопрос 😳 он должен вызвать функцию внутри index.php для достижения этой цели 😔
5. @hazemali Итак, если я прав, это единственный способ, которым я могу этого добиться? Потому что тогда я подумываю о слиянии двух файлов.
Ответ №2:
чтобы сначала включить ваш файл ‘index.php » в «process.php ‘