loveorigami/yii2-plugins-system

为 Yii2 设计的插件系统,类似于 WP

安装数: 2,966

依赖: 2

建议者: 0

安全性: 0

星标: 115

关注者: 20

分支: 23

开放问题: 0

类型:yii2-extension

3.1.5 2018-12-21 09:22 UTC

This package is auto-updated.

Last update: 2024-09-12 23:10:43 UTC


README

Latest Stable Version Total Downloads License

Yii2-plugins-system 是开箱即用的,这意味着安装只需要最少的步骤。只需进行一个配置步骤,您就可以在您的 Yii2 网站上拥有插件系统。

"Plugins"

1. 下载

可以使用 composer 安装 Yii2-plugins-system。运行以下命令以下载和安装 Yii2-plugins-system

composer require "loveorigami/yii2-plugins-system": ">=3.*"

2. 更新数据库模式

最后,您需要通过应用迁移来更新您的数据库模式。请确保您已正确配置了 db 应用程序组件,在我们的控制台配置命名空间中添加迁移 - 更多信息

return [
    'controllerMap' => [
        'migrate' => [
            'class' => 'yii\console\controllers\MigrateController',
            'migrationNamespaces' => [
                 ...
                'lo\plugins\migrations'
            ],
        ],
    ],
];

然后运行以下命令

$ php yii migrate

3. 配置应用程序

让我们从在 @backend/config/main.php 中定义模块开始

'modules' => [
    'plugins' => [
        'class' => 'lo\plugins\Module',
        'pluginsDir'=>[
            '@lo/plugins/core', // default dir with core plugins
            // '@common/plugins', // dir with our plugins
        ]
    ],
],

就这样,现在您已将模块安装并配置在高级模板中。

接下来,打开 @frontend/config/main.php 并添加以下内容

...
'bootstrap' => ['log', 'plugins'],
...
'components' => [
    'plugins' => [
        'class' => lo\plugins\components\PluginsManager::class,
        'appId' => 1 // lo\plugins\BasePlugin::APP_FRONTEND,
        // by default
        'enablePlugins' => true,
        'shortcodesParse' => true,
        'shortcodesIgnoreBlocks' => [
            '<pre[^>]*>' => '<\/pre>',
            //'<div class="content[^>]*>' => '<\/div>',
        ]
    ],
    'view' => [
        'class' => lo\plugins\components\View::class,
    ]
    ...
]

也要在以下文件中做相同的事情

  • @backend/config/main.php
  • @console/config/main.php
  • @api/config/main.php
  • 我们的模块
  • 等等...
...
'bootstrap' => ['log', 'plugins'],
...
'components' => [
    'plugins' => [
        'class' => lo\plugins\components\PluginsManager::class,
        'appId' => 2 // lo\plugins\BasePlugin::APP_BACKEND or our appId
    ],
    'view' => [
        'class' => lo\plugins\components\View::class,
    ]
    ...
]

基本 AppId lo\plugins\BasePlugin::

  • const APP_FRONTEND = 1;
  • const APP_BACKEND = 2;
  • const APP_COMMON = 3;
  • const APP_API = 4;
  • const APP_CONSOLE = 5;

简码

核心插件(示例)

您的插件

为此项目做出贡献

欢迎每个人为此项目做出贡献。请花一点时间查看 贡献指南

许可证

Yii2-plugins-system 在 MIT 许可证下发布。有关详细信息,请参阅附带 LICENSE.md