【问题标题】:Laravel 5 package development clarityLaravel 5 包开发清晰
【发布时间】:2016-02-25 19:28:38
【问题描述】:

我已经在网上阅读了一些关于包开发的文章,但我无法完全理解基本设置。我已经编写了带有版本的 jQuery 插件并在传递中发布到 Bower,所以我可能只是不理解与 Laravel 的区别。

使用 jQuery 插件开发,我只需通过 bower.json 排除我的开发所需的依赖项,以防止有人拉入我的依赖项。您似乎使用 Laravel 创建了一个未跟踪的 Laravel 框架文件夹并将您的包放入供应商文件夹并仅使用 Git 跟踪它?所以基本上位于我的供应商包之外的 Laravel 项目只是我 PC 上的一些文件?我肯定想跟踪这个包是在哪个版本的 Laravel 上开发的?

或者我应该创建一个“基础”Laravel 存储库并在供应商文件夹中创建另一个存储库,以确保我知道该软件包是基于哪个 Laravel 构建的?

文档和教程很模糊...

【问题讨论】:

    标签: laravel-5 package


    【解决方案1】:

    您的问题看起来有点混乱。我为 Laravel 开发包,以下是常规方式:

    1. Laravel 通过 composer 管理其依赖项,查看 composer.json 以了解与 bower 的相似之处。
    2. 为了让你的包与 laravel 的核心兼容,你需要在你的包中实现一些接口。这个包还可以通过 composer 管理依赖。
    3. 可以在不同的版本控制中将包创建为存储库,例如 Github、BitBucket、Packagist、Cartalyst、私有包存储库等。默认情况下,laravel 从 Packagist 拉包,但在 composer.json 文件中您可以指定另一个存储库根据需要。
    4. 当你触发composer update(相当于bower update)时,这个依赖管理器会拉取所有的包并自动下载到vendor/目录中。

    在使用 laravel 进行测试时如何编写你的包?有些人会这样做,包括我:

    1. 安装一个 laravel 实例仅用于包开发目的。
    2. vendor/project-name 中按照lavavel 的包要求创建一个新项目(您的包项目)。
    3. 继续从该项目位置处理您的包。通过这种方式,更改会立即反映在 laravel 安装中。
    4. 别忘了提交和推送

    【讨论】:

    • 是的,我的观点是我曾经开发 jQuery 插件,其中 jQuery 可用并且依赖。那么如何在供应商包中为 Laravel 开发而不需要测试 Laravel 的核心工作呢?找不到任何教程清楚地解释这一点。那么我在 Laravel 文件夹中的包是唯一保存到 repo 的东西吗?我理解您的上述观点,这不是我所困惑的。
    • 所以为了澄清第 4 点“提交/推送”,只有我的 vendor/project-name 文件夹中的文件属于回购和包装 Laravel 项目只是位于我的 PC 上的文件?那么你如何处理包/Laravel 版本依赖呢?
    猜你喜欢
    • 2015-04-07
    • 2015-04-07
    • 2015-09-19
    • 2016-05-16
    • 2017-02-07
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多