m038/twwidgets-plugin-bundle

针对Newscoop的TagewsWoche特定小部件

dev-master 2013-10-23 13:34 UTC

This package is not auto-updated.

Last update: 2024-09-24 05:05:35 UTC


README

Newscoop TagesWocheWidgetsPluginBundle(仅用于示例目的)

安装/更新/移除

概览

整个插件系统(安装/管理)基于Composer包。包可以存在于github.com或您的私有git仓库,但必须在packagist.org或私有(基于satis)composer仓库中列出。

目前我们只支持这种插件管理方式。但我们有从.zip文件安装的计划。

整个管理过程应通过我们的Newscoop\Services\Plugin\ManagerService类完成。这是非常重要的,因为这样我们可以允许开发者在其插件中对安装/移除/更新事件(等等)做出反应。

安装

    php application/console plugins:install "vendor/plugin-name" "optional version"
    php application/console plugins:install "m038/twwidgets-plugin-bundle" --env=prod # installs this plugin

安装命令会将您的包添加到您的composer.json文件中(并安装它),并更新plugins/avaiable_plugins.json文件(用于作为Bundle启动的插件)。此命令还将触发带有插件名参数的"plugin.install"事件。

移除

    php application/console plugins:remove "vendor/plugin-name"
    php application/console plugins:remove "m038/twwidgets-plugin-bundle" --env=prod # removes this plugin

移除命令将从composer.json文件中删除您的包并更新您的依赖项(目前这是唯一的方式),它还将从plugins/avaiable_plugins.json文件中删除有关插件的信息,并触发带有插件名参数的"plugin.remove"事件。

更新

    php application/console plugins:update "vendor/plugin-name" "optional version"
    php application/console plugins:update "m038/twwidgets-plugin-bundle" --env=prod # updates this plugin

更新命令有些特别——它首先将您的插件从newscoop中移除(但不会触发plugin.remove事件),然后再次安装您的插件(再次不触发plugin.install事件)。完成所有这些后,它将触发plugin.update事件。