Laravel使用包装

时间:2017-10-01 11:38:03

标签: php laravel-5 package composer-php

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

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

问题是由于某种原因它没有注册。当我进入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"
            }
        }
    }

我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

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

以下是对我有用的步骤:

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

    composer require laracasts/utilities
  2. 在Laravel项目中更新您的软件包(例如,通过递增版本号或删除软件包并重新安装它。

    composer update # in main Laravel project
  3. 然后您应该看到,在Laravel主项目中,您可以自动发现自己的包以及对laracasts / utilities的依赖。
  4. 如果这有助于您或我是否可以提供更多帮助,请告诉我。

答案 1 :(得分:0)

您需要执行以下步骤来解决此问题:

  1. 在程序包目录中运行命令:

    composer require laracasts/utilities

  2. 现在,无论何时要使用此依赖项,都请在您的软件包中(文件顶部)使用它:

    use Laracasts\Utilities\JavaScript\yourClassName