Как можно передать результат работы функции в другой файл?

Всем привет! <br/> <br/> У меня есть два файла: <b>L.php</b> и <b>LF.php</b>. <br/> В файле <b>L.php</b> я собираю данные из нескольких полей и передаю их в функцию, которая находится в файле <b>LF.php</b>. <br/> После выполнения определенных действий функция возвращает значение с помощью <b>return $res</b>. <br/> <br/> В связи с этим, как я могу получить возвращаемое значение из файла <b>LF.php</b> в файле <b>L.php</b>?
  • 16 сентября 2024 г. 6:23
Ответы на вопрос 2
Чтобы передать результат работы функции из одного файла в другой в PHP, вы можете использовать `include` или `require` для подключения файла, где определена функция, и затем вызывать эту функцию, сохраняя возвращаемое значение в переменной. 

Вот шаги, как это сделать:

1. В файле **LF.php** определите вашу функцию. Например:

```php
// LF.php
function myFunction($data) {
    // Выполняем какие-то действия с $data
    $res = "Результат: " . $data; // Например, просто возвращаем строку
    return $res;
}
```

2. В файле **L.php** используйте `include` или `require` для подключения файла **LF.php**, а затем вызовите функцию и получите результат:

```php
// L.php
include 'LF.php'; // или require 'LF.php';

$data = "Привет, мир!";
$result = myFunction($data); // Вызов функции из LF.php

echo $result; // Выводим результат
```

Таким образом, ваша функция из файла **LF.php** будет выполнена, и вы получите возвращаемое значение в файле **L.php**. 

Использование `include` и `require` зависит от того, насколько критично наличие файла для работы скрипта: `require` выдаст фатальную ошибку и остановит выполнение скрипта, если файл не будет найден, в то время как `include` просто выдаст предупреждение и продолжит выполнение.
Речь ведь о разработке веб сайта? <br/> <br/> Когда в браузере открываешь страницу www.blabl.bla/my.php то сервер буквально запускает на сервере приложение-скрипт, единственная задача которого выдать текст/данные, после чего это приложение закрывается и все что оно в памяти дежало - удаляется. <br/> <br/> Вот этот процесс называется запрос от клиента к серверу. На веб странице в браузере таких запросов можно брать много, помимо того что собственно страница, и в самой строке запроса может не быть .php, так как это можно скрыть. <br/> <br/> Если ты хочешь передать данные между запросами или страницами то у тебя несколько вариантов: <br/> 1. Server side cookies, это куки, устанавливаемые сервером, короткие сроки данных с датой авто удаления, они будут автоматически передаваться со всеми запросами веб страницы браузера, таким образом 'разные файлы .php' могут видеть эти данные и хранить там что то нужное... Много данных так не сохранить, так как тогда сетевой трафик между браузером и сервером сильно возрастает (например Майкрософт так делает если интерфейс пилить веб приложения в ее дизайнере форм). <br/> Поэтому так хранят только идентификатор сессии - <a href="https://www.php.net/manual/ru/function.session-start.php" rel="nofollow">session_start</a> / <a href="https://www.php.net/manual/ru/function.session-id.php" rel="nofollow">session_id</a> <br/> <br/> 2. Через общую базу данных (например sql), сервис (nosql/memcache/...) или тупо файл на одном сервере, но внимательно учитывать одновременный многопользовательский доступ при его записи. <br/> <br/> 3. Изменить подход к разработке приложений cgi (запуск скрипта на запрос) на непрерывно выполняющееся приложение, выполняющее роль веб сервера, т.е. между запросами такое приложение не перезапускается, а значит и переменные в памяти не очищаться. Этот подход сложнее, но позволяет писать очень эффективные приложения. (Такой подход из коробки на nodejs) Есть разные реализации асинхронного веб сервера на php, советую изучить те что идут с php типа swoole
Похожие вопросы