如何在Laravel中包含遗留PHP代码层次结构

如何在Laravel中包含遗留PHP代码层次结构,php,laravel,include,require,relative-path,Php,Laravel,Include,Require,Relative Path,我正在将一个遗留PHP应用程序移植到Laravel,需要将各种PHP文件中定义的函数包含到Laravel控制器中。将这些文件复制到Laravel项目中并不方便,因为它们仍将在站点的非Laravel部分使用,我希望确保代码仍然是共享的。我如何使用Laravel中的某个地方的require(),以及所有遗留PHP文件的相对路径 例如,在页面顶部,我将转换为Laravel: <?php require("../include.php"); require_once("../../trades/

我正在将一个遗留PHP应用程序移植到Laravel,需要将各种PHP文件中定义的函数包含到Laravel控制器中。将这些文件复制到Laravel项目中并不方便,因为它们仍将在站点的非Laravel部分使用,我希望确保代码仍然是共享的。我如何使用Laravel中的某个地方的
require()
,以及所有遗留PHP文件的相对路径

例如,在页面顶部,我将转换为Laravel:

<?php

require("../include.php");
require_once("../../trades/trades_include.php");
require_once("account_access_page.php");
require_once("../includes/accounts.php");

加载文件的最佳方法可能是使用composer。转到Laravel应用程序根目录中的
composer.json
,并将其添加到
“自动加载”部分:

"files": [
    "../include.php",
    "../../trades/trades_include.php"
    // and so on...
],
路径是相对于目录
composer.json


添加文件后,请运行
composer dump autoload

@Andy执行上述操作后,您可能需要在项目根目录中运行
composer dump autoload
。@lukasgeiter这难道不意味着将为应用程序中的每个路由加载这些文件吗?最好只为需要它们的路由加载它们。@lukasgeiter我刚刚将文件添加到
composer.json
,但是嵌套的
require()
s不起作用。当我进入页面时,我得到
警告:require_once(../../config.php):无法打开流:第5行的/vagrant/pub/ca/include.php中没有这样的文件或目录
@Andy Yes这将包括在每个路由中。嵌套的请求可能不起作用,因为相对路径现在是错误的。。。如果我发现一些有用的东西,我会给你回复的。啊,这就是不好用,即使我复制了遗留代码并将文件添加到composer.json中,所包含文件中的全局变量似乎对其他文件不可见。我还是PHP新手,我不太确定应该如何解决这个问题。
"files": [
    "../include.php",
    "../../trades/trades_include.php"
    // and so on...
],