hirokws/prepper

此包已被废弃且不再维护。未建议替代包。

通过Composer工具注册安装包的服务提供者和类别名。

0.2.2 2013-08-30 04:01 UTC

This package is not auto-updated.

Last update: 2016-10-23 08:48:27 UTC


README

Build Status

使用Composer工具自动更新Laravel包的app/config/app.php文件。

概要

将Prepper添加到根目录下composer.json文件的requirerequire-dev部分。

"hirokws/prepper": "dev-master"

然后执行composer update,或者

composer require "hirokws/prepper:dev-master"

为了激活Prepper,运行shell脚本

vendor/bin/prepper-start.sh

或者在Windows环境下

vendor/bin/prepper-start.bat

(抱歉,尚未在Windows环境下测试...)

如何使用?

无需特别操作即可正常工作。只需像平时一样通过composer安装包。

如果安装包中存在provides.json文件,则会自动更新app.php,使用json文件中定义的信息注册服务提供者和类别名。

当使用composer删除包时,也会从app.php中删除服务提供者和类别名的注册。

安装

使用composer安装"hirokws/prepper": "dev-master"

然后运行vendor/bin/prepper-start.sh(在Linux/Unix上)或vendor/bin/prepper-start.bat(在Windows上)。

或者手动将以下json添加到根目录下composer.json文件的script部分。

    "post-package-install": [
        "Prepper\\Prepper::installPackage"
    ],
    "pre-package-uninstall": [
        "Prepper\\Prepper::uninstallPackage"
    ],

卸载

运行vendor/bin/prepper-stop.shvendor/bin/prepper-stop.bat

或者从根目录下composer.json文件的script部分移除"post-package-install"和"pre-package-uninstall"定义。

provides.json

provides.json文件包含用于注册/注销app.php中服务提供者和类别名的信息。

定义与rtablada/package-installer兼容。

例如,对于"Juy/profile"包

{
    "providers": [
        "Juy\\Profiler\\Providers\\ProfilerServiceProvider"
    ],
    "aliases": [
        {
            "alias": "Profiler",
            "facade": "Juy\\Profiler\\Facades\\Profiler"
        }
    ],
    "PostInstallMessage": "Updated app.php config file automatically for juy/profiler.",
    "PostUninstallMessage": "Automatically remove juy/profiler setting from app.php config file."
}

因此,定义

  • providers:注册服务提供者名称。
  • aliasfacade:注册类别名。
  • PreInstallMessage:注册前的消息。
  • PostInstallMessage:注册后的消息。
  • PreUninstallMessage:注销前的消息。
  • PostUninstallMessage:注销后的消息。

本地支持的包

Prepper本地包含一些安装定义json文件。因此,以下包可以直接使用。

(按ABC顺序排列)

注意

Prepper仅修改app/config/app.php文件,不会触及其他app.php文件。

如果app.php文件中'providers' / 'aliases'数组最后一个项目不以逗号结尾,则任何添加的内容都不会生效。因此,确保最后一个(所有)项目以逗号结尾。

这是永远的beta版本。因为我认为Taylor正在为Laravel 4.1开发类似的功能。因此,这个包的生命周期可能很短。

老实说,这种功能在所有Laravel包都包含安装信息时才变得非常有用。为了实现这一点,必须得到官方支持。