定制 loveorigami/yii2-plugins-system 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

loveorigami/yii2-plugins-system

最新稳定版本:3.1.5

Composer 安装命令:

composer require loveorigami/yii2-plugins-system

包简介

Plugins system as WP for Yii2

README 文档

README

Latest Stable Version Total Downloads License

Yii2-plugins-system is designed to work out of the box. It means that installation requires minimal steps. Only one configuration step should be taken and you are ready to have plugin system on your Yii2 website.

"Plugins"

1. Download

Yii2-plugins-system can be installed using composer. Run following command to download and install Yii2-plugins-system:

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

2. Update database schema

The last thing you need to do is updating your database schema by applying the migrations. Make sure that you have properly configured db application component, add in our console config namespace migration - more here

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

and run the following command:

$ php yii migrate

3. Configure application

Let's start with defining module in @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
        ]
    ],
],

That's all, now you have module installed and configured in advanced template.

Next, open @frontend/config/main.php and add following:

...
'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,
    ]
    ...
]

Also do the same thing with

  • @backend/config/main.php
  • @console/config/main.php
  • @api/config/main.php
  • our modules
  • etc...
...
'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,
    ]
    ...
]

Base AppId lo\plugins\BasePlugin::

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

Shortcodes

Core plugins (examples)

Your plugins

Contributing to this project

Anyone and everyone is welcome to contribute. Please take a moment to review the guidelines for contributing.

License

Yii2-plugins-system is released under the MIT License. See the bundled LICENSE.md for details.

统计信息

  • 总下载量: 3.04k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 114
  • 点击次数: 0
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 114
  • Watchers: 19
  • Forks: 23
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-08-02