【问题标题】:How do I create an "add-on" package for my Laravel Project如何为我的 Laravel 项目创建一个“附加”包
【发布时间】:2019-03-06 02:04:09
【问题描述】:

我有一个已经构建了一段时间的 Laravel 项目。我想添加不属于主应用程序但可以作为加载项包添加的功能,但我不知道执行此操作的最佳方法。这些包将有自己的路由、视图、模型和控制器。

我查看了https://laravel.com/docs/5.7/packages 和其他用于创建 Laravel 包的网站,但最大的问题是,使用此设置,包是通过 composer.json 加载的。每当我更新我的主应用程序并向主项目添加新的依赖项时,它都会用他们注册的任何加载项覆盖用户 composer.json。

有没有人可以为我指出正确的方向?

【问题讨论】:

    标签: laravel package


    【解决方案1】:

    您可能有两种方法来创建自己的插件

    1. 使用这个包用你自己的东西创建模块- https://github.com/nWidart/laravel-modules

    2. 创建您自己的包- https://wisdmlabs.com/blog/create-package-laravel/

    您对开发包和丢失更改的怀疑是不正确的。请阅读上面提到的指南,对如何在 Laravel 中开发包做更多的研究。

    或者您可以选择第一个选项,该选项更容易且不易混淆,您可以在单独的文件夹中创建自己的模块并在您的应用程序中使用它。您也可以将其作为单独的模块共享。

    但最大的问题是,通过这个设置,包是通过 作曲家.json。每当我更新我的主应用程序并添加一个新的 依赖于主项目,它将覆盖用户 composer.json 以及他们已注册的任何加载项。

    这不是真的。您对 composer.json 的整体使用和功能感到困惑。

    当您创建自己的包/模块时,您就有了自己的 composer.json。如果您添加新的依赖项或更新您的应用程序,您的更改不会丢失。

    每次您添加新的依赖项或更新您的作曲家时,您的更改都会在 composer.json 上更新,而不会擦除现有的包信息。您不必担心丢失更改。

    【讨论】:

    • 感谢您的帮助。
    猜你喜欢
    • 2015-02-02
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 2015-05-03
    • 2012-09-16
    相关资源
    最近更新 更多