访问Laravel 4包中的文件

时间:2015-01-08 14:43:19

标签: laravel laravel-4 namespaces composer-php autoload

我正在为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文件中,并且我无法在安装软件包的应用程序内访问它?

1 个答案:

答案 0 :(得分:1)

由于您的文件不包含类,因此它不会自动加载,显然不会包含在autoload_CLASSmap.php中。

如果你只为Laravel开发包,你可以简单地使用Laravel处理配置文件的方式:

  1. 将文件放在myPackage/src/config/myFile.php
  2. 通过Config::get('myPackage::myFile.foo)`访问配置(它的工作方式与普通的Laravel配置值相同)
  3. More information on package development for Laravel

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

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