我正在为 Laravel 4 开发一个软件包,在其中我创建了一个文件,该文件应该可以在安装我的软件包的应用程序内访问
文件的路径是
myPackage-
|--src
|--MyNamepace
|--MyPackage
| |--libs
| |--myFile.php
|-myPackageServiceProvider
在我的 composer.json 文件中,我有以下内容:
"autoload": {
"classmap": [
"src/controllers",
"src/views",
"src/models",
"src/database/migrations"
],
"psr-0": {
"MyNamespace\MyPackage": "src/"
}
myFile.php 具有以下命名空间和内容:
<?php namespace MyNamespaceMyPackagelibs;
return [
//some data here
];
问题:
我在哪里可能犯了错误,此文件的路径未包含在应用程序的autoload_classmap.php
文件中,并且我无权在安装软件包的应用程序内访问它?
由于您的文件不包含类,因此它不会自动加载,并且显然不包含在autoload_CLASSmap.php
中。
如果您只为 Laravel 开发软件包,您可以简单地使用 Laravel 处理配置文件的方式:
- 将文件放入
myPackage/src/config/myFile.php
- 通过
Config::get('myPackage::myFile.foo
)' 访问配置(它的工作方式与正常的 Laravel 配置值相同)
有关Laravel软件包开发的更多信息
您也可以使用 require
"加载"文件。更好的是,您可以使用File::getRequire()
:
$config = File::getRequire('path/to/file.php');