可以访问 Laravel 4 包中的文件



我正在为 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 处理配置文件的方式:

  1. 将文件放入myPackage/src/config/myFile.php
  2. 通过 Config::get('myPackage::myFile.foo )' 访问配置(它的工作方式与正常的 Laravel 配置值相同)

有关Laravel软件包开发的更多信息

您也可以使用 require "加载"文件。更好的是,您可以使用File::getRequire()

$config = File::getRequire('path/to/file.php');

最新更新