【发布时间】:2015-03-06 17:18:25
【问题描述】:
我正在为 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 文件中的错误,并且我在安装包的应用程序中无权访问它?
【问题讨论】:
-
这个问题的关键是你的
composer.json文件中的psr-0命名空间声明。恐怕我对它的了解还不够,无法明确回答这个问题,所以你应该看看the docs for composer。 -
myFile.php里面有什么?命名空间设置正确吗? -
@lukasgeiter 我编辑了问题请再检查一遍
-
显然你的文件不包含一个类,所以很明显它不包含在
autoload_CLASSmap.php... 是某种配置文件吗? -
@lukasgeiter 我刚刚意识到我在哪里犯了错误,是的,它是一个配置文件
标签: laravel laravel-4 namespaces composer-php autoload