我正在为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 MyNamespace\MyPackage\libs;
return [
//some data here
];
问题:
我可能错误地认为该文件的路径未包含在应用程序的autoload_classmap.php
文件中,并且我无法在安装软件包的应用程序内访问它?
答案 0 :(得分:1)
由于您的文件不包含类,因此它不会自动加载,显然不会包含在autoload_CLASSmap.php
中。
如果你只为Laravel开发包,你可以简单地使用Laravel处理配置文件的方式:
myPackage/src/config/myFile.php
Config::get('myPackage::myFile.foo
)`访问配置(它的工作方式与普通的Laravel配置值相同)More information on package development for Laravel
您也可以使用require
“加载”文件。更好的是,您可以使用File::getRequire()
:
$config = File::getRequire('path/to/file.php');