Я портирую устаревшее PHP-приложение на Laravel и мне нужно включить функции, определенные в различных PHP-файлах, в контроллеры Laravel. Копировать эти файлы в проект Laravel было бы неудобно, потому что они все еще будут использоваться в частях сайта, не относящихся к Laravel, и я хочу убедиться, что код по-прежнему используется совместно. Как я могу использовать require()
где-нибудь в Laravel с относительными путями ко всем устаревшим файлам PHP?
Например, в верхней части страницы я конвертирую в Laravel:
<?php
require("../include.php");
require_once("../../trades/trades_include.php");
require_once("account_access_page.php");
require_once("../includes/accounts.php");
Как видите, ../include.php включает в себя другие файлы с относительными путями:
<?php
require_once("general.php");
require_once("../../config.php");
require_once("../../includes/utility.php");
require_once("../../includes/session_helper.php");
require_once("../../includes/date.php");
require_once("../../includes/form.php");
require_once("../../includes/mysql.php");
require_once("../../includes/page.php");
require_once("../../includes/table.php");
РЕДАКТИРОВАТЬ: Включая файлы в composer.json
не решает мою проблему, потому что вложенный require_once()
Сбой. Кто-нибудь знает обходной путь?
Вероятно, лучший способ загрузить ваши файлы — использовать composer. Перейти к вашей composer.json
в корне вашего приложения Laravel и добавьте это в "autoload"
раздел:
"files": [
"../include.php",
"../../trades/trades_include.php"// and so on...
],
Пути относительно каталога composer.json
в.
После добавления файлов запустите composer dump-autoload
,
Других решений пока нет …