Laravel 5 包开发清晰度

Laravel 5 package development clarity

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

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

或者我应该创建一个 "base" Laravel 存储库并在 vendor 文件夹中创建另一个存储库,以便确保我知道包是在哪个 Laravel 上构建的?

文档和教程很含糊...

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

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

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

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