【问题标题】:Laravel use package in packageLaravel 在包中使用包
【发布时间】:2018-03-12 17:27:18
【问题描述】:

我正在 Laravel 5.5 中开发一个包,我需要这个包:

https://github.com/laracasts/PHP-Vars-To-Js-Transformer

问题是它由于某种原因没有注册。当我 dd 在JavaScriptServiceProvider.php 中时,什么也没有发生。当我使用 Javascript 外观时,我收到一个错误,它不存在?!

我的包composer.json文件:

"require": {
        "php" : "^7.0",
        "illuminate/support": "~5.5.0",
        "laracasts/utilities": "^3.0"
    },

我使用 Laravel 5.5,所以它应该默认注册(来自 laracasts 包的composer.json):

"extra": {
        "laravel": {
            "providers": [
                "Laracasts\\Utilities\\JavaScript\\JavaScriptServiceProvider"
            ],
            "aliases": {
                "JavaScript": "Laracasts\\Utilities\\JavaScript\\JavaScriptFacade"
            }
        }
    }

我在这里做错了什么?

【问题讨论】:

    标签: php laravel-5 package composer-php


    【解决方案1】:

    我在自己的包中使用不同的其他包时遇到了同样的问题。

    以下是对我有用的步骤:

    1. 在自己的包中添加需要的包作为依赖:

      composer 需要 laracasts/utilities
    2. 在 Laravel 项目中更新你的包(例如,通过增加版本号或删除你的包并重新安装它。

      在 Laravel 主项目中更新作曲家#
    3. 然后您应该会看到,在 Laravel 主项目中会自动发现您自己的包以及对 laracasts/utilities 的依赖。

    如果这对您有帮助,或者我是否可以提供更多帮助,请告诉我。

    【讨论】:

      【解决方案2】:

      您需要按照以下步骤来解决此问题:

      1. 在你的包目录中运行命令:

        composer require laracasts/utilities

      2. 现在,只要您想使用此依赖项,就在您的包中(在文件顶部)使用它:

        use Laracasts\Utilities\JavaScript\yourClassName

      【讨论】:

        猜你喜欢
        • 2014-05-10
        • 1970-01-01
        • 1970-01-01
        • 2017-10-04
        • 1970-01-01
        • 2014-11-15
        • 2019-12-06
        • 2013-02-17
        • 2014-11-24
        相关资源
        最近更新 更多