在laravel中包含外部php文件(不在laravel目录中)
我想在我的服务提供商中包含一个外部PHP文件,该文件位于不同的文件夹中。 就像我的文件在folder1中一样,这个文件夹和laravel处于同一级别在laravel中包含外部php文件(不在laravel目录中),php,laravel,laravel-5.1,Php,Laravel,Laravel 5.1,我想在我的服务提供商中包含一个外部PHP文件,该文件位于不同的文件夹中。 就像我的文件在folder1中一样,这个文件夹和laravel处于同一级别 C:\xampp\htdocs\registration\php\file.php //this is file C:\xampp\htdocs\_problem_sharing\app\AppServiceProvider 这就是我现在正在尝试的方式 include_once "/../../../registration/php/
C:\xampp\htdocs\registration\php\file.php //this is file
C:\xampp\htdocs\_problem_sharing\app\AppServiceProvider
这就是我现在正在尝试的方式
include_once "/../../../registration/php/user_info.php";
这真的很简单。因为Laravel 5中的所有内容都是使用PSR-4在app/目录中自动加载的。例如,如果要包含此文件,请创建一个类 您需要创建目录,例如。g、 :
app/CustomStuff/CustomDirectory/
在这个目录中,创建文件:app/CustomStuff/CustomDirectory/SomeClass.php
在SomeClass.php文件中,您只需要:
<?php
namespace App\CustomStuff\CustomDirectory;
class Someclass {}
我不想把那个文件复制到laravel的目录里我想那是不可能的,你必须把文件复制到Laravel@VitorLuis当然这是可能的,您可以从文件系统中的任何位置加载任何文件,只要您有权读取它,您只需要使用
include
或require
,或者,如果您想使用Composer自动加载它,您需要Composer.json
。您可以将文件符号链接到laravel中,这将确保git也跟踪该文件。返回两级:包含一次“../../registration/php/user\u info.php”代码>应该足够。另外,不要在相对路径前面加上/
。它仍在Providers目录@bogdan下查找文件,出现了什么错误?AppServiceProvider.php第14行中的FatalErrorException:Class'App\Providers\UserInfo'未找到
其中UserInfo是我试图包含的文件中的类名@Bogdan当我试图使类对象$this->userInfo=newuserinfo()时,就会发生这种情况
由于provideo位于其自己的命名空间App\Providers
,因此您应该将其放在provideo类文件的顶部use UserInfo
,或者在代码中使用类时,在其前面加一个反斜杠,将其放在全局命名空间中(例如:new\UserInfo()
)。如果问题仍然存在,请发布提供商的内容。
use App\CustomStuff\CustomDirectory\SomeClass;