And*_*ndy 4 php relative-path require include laravel
我正在将遗留的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");
Run Code Online (Sandbox Code Playgroud)
如您所见,../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");
Run Code Online (Sandbox Code Playgroud)
编辑:包含文件composer.json并不能解决我的问题,因为嵌套require_once()s失败.有没有人知道解决方法?
加载文件的最佳方法可能是使用composer.转到composer.jsonLaravel应用程序的根目录并将其添加到以下"autoload"部分:
"files": [
"../include.php",
"../../trades/trades_include.php"
// and so on...
],
Run Code Online (Sandbox Code Playgroud)
路径是相对于目录composer.json所在的.
添加文件后,运行composer dump-autoload.
| 归档时间: |
|
| 查看次数: |
963 次 |
| 最近记录: |