joseym/li3_installer

Lithium PHP (li3) 第三方库安装器。

安装次数: 12,504

依赖者: 10

建议者: 0

安全: 0

星标: 13

关注者: 2

分支: 0

公开问题: 1

类型:composer-installer

dev-master 2012-06-22 15:02 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:42:52 UTC


README

震撼 Composer!

有关于将框架安装器集中化的趋势。主要项目名为 baton,但社区中也有一些兴趣希望 Composer 能够将其作为自己的。

如果这样做了,那么显然,这个项目将变得无关紧要。

我支持这个请求,你也应该这样做!看看 Baton,它很棒!

注意

这看起来可能像是一个锂库,但实际上它不是。

这是一个 composer 安装器包,它将类型为 li3-libraries 的 composer 包安装到锂的正确位置。

这意味着你不需要在你的应用程序中安装它,你只需要在你的 li3 插件的 composer 文件中要求它。

设置你自己的 li3 composer 插件

我将假设,现在你了解如何向 Packagist 提交一个包

如果不了解,不用担心,我会在稍后简要说明如何做。

在你的插件根目录下创建 composer.json 安装器文件

LITHIUM_APP_PATH . "app/libraries/li3_myplugin/composer.json"

确保你要求这个包,并确保你的插件包类型设置为 li3-libraries

以下是一个 composer.json 文件示例(基于我的 smarty 插件

{
	"name": "joseym/li3_smarty",
	"type": "li3-libraries",
	"description": "Smarty PHP plugin for Lithium PHP ... if you're into that sort of thing",
	"keywords": ["template engine", "smarty", "lithium"],
	"homepage": "https://github.com/joseym/li3_smarty",
	"license": "GNU General Public License",
	"authors": [
		{
			"name": "Josey Morton",
			"email": "me@joseymorton.com",
			"homepage": "https://github.com/joseym"
		},
		{
			"name": "Alex Denvir",
			"email": "coldfff@gmail.com",
			"homepage": "https://github.com/alexdenvir"
		}
	],

	"require": {
		"php": ">=5.3",
		"joseym/li3_installer": "master"
	}

}

上面的内容应该很直观,主要要注意的是 type 键和 require 哈希。

smarty 插件需要这个安装器,因此当你告诉你的应用程序要求 smarty 插件时,Composer 将自动获取并安装 li3_installer 包(如果它不存在的话),否则它将直接使用它。

使用 composer 和安装器

以下是一个示例应用程序的 composer.json 文件,它将安装 li3_smarty

{
	"name": "lithium-dev",
	"version": "0.1.0",
	"config": {
		"vendor-dir": "libraries/_source"
	},
	"require": {
		"joseym/li3_smarty": "master"
	}
}

首先,config.vendor-dir 告诉包安装到 libraries/_source 目录。

我喜欢把第三方的东西放在这里(我喜欢让我的库目录“li3”友好,仅此而已)。

所有非锂 composer 包现在都将安装到 libraries/_source

所有 li3-libraries 包都将安装到 libraries/li3_packagename,无论 config.vendor-dir 中设置了什么。

没有法律规定这必须是一个约定,但我觉得这很有意义

使用 composer 安装依赖项

在你的项目根目录(composer 安装的地方)运行以下命令

php composer.phar install

它应该花一点时间来获取依赖项,但之后你应该会看到类似这样的内容

Installing dependencies
  - Package joseym/li3_installer (dev-master)
    Cloning 4f048b2888adbfbe8b8c8b5fdbf7f46ae2f95654

  - Package joseym/li3_smarty (dev-master)
    Cloning 9ab5b8e6b11e6d68f606e3882d4b4503821a1996

li3_smarty 现在将位于你的 libraries 目录中。

libraries 中,你还将看到一个名为我的供应商名称 joseym 的目录。在 joseym 中,你可以找到安装器 li3_installer

将你的插件添加到 Packagist

好了,所以你的插件已经为 composer 配置好了(在插件的根目录中有 composer.json),很好!

为了将包提交到packagist,您需要按照以下说明操作:

  1. 在packagist上注册一个账户
  2. 登录并 提交您的包 - 包的源代码仓库,例如在li3_smarty的情况下,我将使用我的只读git URL。
  3. 仓库URL字段中输入URL:git://github.com/joseym/li3_smarty.git

然后,packagist将尝试抓取您的仓库,并确保composer.json文件是有效的。

您就可以开始使用了!

附加说明

为了在您推送时自动更新packagist仓库,您需要设置一个GitHub钩子。

这很简单,您只需在packagist钩子表单中输入您的packagist用户名(如果与GitHub不同)和GitHub提供的API Token,并勾选“激活”复选框。

有疑问或遇到问题? 提交一个问题

感谢!

我想感谢我的超级棒的雇主,Vitals,他们赞助了这个(以及其他)Lithium库的开发工作,以及nwp在我想要工作在一些插件上时没有抱怨,甚至鼓励我。

为那些理解回报社区价值的人工作真是太好了,这个社区为我们提供了很多。