【问题标题】:Laravel 4 custom package not appearing in autoload_namespace.phpLaravel 4 自定义包未出现在 autoload_namespace.php 中
【发布时间】:2014-08-24 23:24:33
【问题描述】:

Laravel 4 自定义包没有出现在autoload_namespace.php

我试图通过在我的一个 laravel 应用程序中创建一个工作台包,将其提交到 github,然后将其安装到另一个包中来创建一个自定义包。我的问题是命名空间映射没有被添加到autoload_namespace.php 并且它的连锁反应是该行 我的 providers 数组中的Markfee\Responder\ResponderServiceProvider 在我运行时会导致以下错误:

php artisan dump-autoload

错误输出:

PHP Fatal error: Class 'Markfee\Responder\ResponderServiceProvider' not found in /media/sf_wwwshare/feenance/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 157

包可以在以下位置找到:

https://github.com/markfee/responder.git

我在 composer.json 文件中包含包含以下条目的包

"repositories": {
  "responder": {
    "type": "package",
    "package": {
      "name": "markfee/responder",
      "description": "Simple responder class for responding with json from api",
      "version": "0.1.0",
      "source": {
        "type": "git",
        "url": "https://github.com/markfee/responder.git",
        "reference": "a7a24c82479fc01ec0c06833690bfd2eeee9e47d"
      }
    }
  }
},
"require": {
  "laravel/framework": "4.2.*",
  "markfee/responder": "0.1.*"
},

如果有人能提供任何启示,我将非常感激。请询问您是否需要更多详细信息。

【问题讨论】:

    标签: php laravel-4 package composer-php


    【解决方案1】:

    您通过为该存储库提供包定义来完成复杂的操作。如果你这样做,这个包将完全替代该存储库中的任何 composer.json,并且只有在没有时才应该使用它。

    您没有将自动加载定义添加到该包中,因此它在您的自动加载中正确地丢失了。

    建议:避免在自己的composer.json 文件中使用type:package。如果存储库已经有composer.json,只需使用type:vcs

    如果你想像使用标记版本一样使用主分支,你可以在你的 require 语句中添加一个别名:"markfee/responder": "dev-master as 0.1.0"。您还可以克隆该存储库并在您自己的本地副本中标记您想要的提交,然后引用您自己的存储库。或者尝试说服维护者标记一个版本并将他的 repo 添加到packagist.org

    【讨论】:

      【解决方案2】:

      在 Sven 的帮助下,我完成了这项工作,我所做的确切更改是将 composer.json 中的原始条目替换为以下内容。我没有使用别名,因为我现在只想包含 master 分支。版本控制和添加到 packagegist 是我的下一个任务:

      "repositories": {
        "responder": {
          "type": "vcs",
          "url": "https://github.com/markfee/responder.git"
        }
      },
      "require": {
        "laravel/framework": "4.2.*",
        "markfee/responder": "dev-master"
      },
      

      【讨论】:

        猜你喜欢
        • 2013-12-22
        • 2013-11-05
        • 2012-12-21
        • 2015-05-29
        • 1970-01-01
        • 2014-02-04
        • 1970-01-01
        • 2014-09-20
        • 1970-01-01
        相关资源
        最近更新 更多