PHP — Есть ли способ повторить текст там, где есть эхо?

#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 ‘