?>

Release SkeekS CMS (Yii2 CMS) 5.0.0-alpha

Release SkeekS CMS (Yii2 CMS) 5.0.0-alpha

We changed the version of SkeekS CMS to the 5th. Because much rewrote the internal architecture. And the versions of dependencies of various modules were fixed more strictly.

Moving to version 5 will require intervention in the project code. It is not enough to start updating dependencies through composer.

Now everything in the project and its components is configured through the composer settings!

Мы сменили версию SkeekS CMS на 5-ю. Поскольку сильно переписали внутреннюю архитектуру. И более жестко зафиксировали версии зависимостей различных модулей.

Переход на 5-ю версию потребует вмешательство в код проектов. Не достаточно запустить обновление зависимостей через composer.

Теперь все в проекте и его компонентах конфигурируется через настройки composer!

Пример конфигурации проекта:

"extra": {
        ...
        "config-plugin": {
            "web": [
                "common/config/main.php",
                "common/config/db.php",
                "frontend/config/main.php"
            ],
            "web-dev": [
                "$web",
                "?frontend/config/env/dev/main.php"
            ],
            "web-prod": [
                "$web",
                "?frontend/config/env/prod/main.php"
            ],
            "console": [
                "common/config/main.php",
                "common/config/db.php",
                "console/config/main.php"
            ],
            "console-dev": [
                "$console",
                "?console/config/env/dev/main.php"
            ],
            "console-prod": [
                "$console",
                "?console/config/env/prod/main.php"
            ]
        }
    },

Компиляция конфигов происходит в моменты после обновления, установки, проектов, или через команду:

COMPOSER_HOME=.composer php composer.phar du

А вот так можно посмотреть все дерево компононетов и их настроек:

COMPOSER_HOME=.composer php composer.phar -v

Получить результирующие настройки:

print_r(\skeeks\cms\composer\config\Builder::path('web'));

Или например вот так, может выглядеть index.php настройки беруться согласно настройкам окружения YII_ENV а путь их слияния очень наглядно описан в composer.json

<?php
define("APP_DIR",               __DIR__);
define("ROOT_DIR",              dirname(dirname(__DIR__)));

require(ROOT_DIR . '/vendor/skeeks/cms/bootstrap.php');

$configFile = \skeeks\cms\composer\config\Builder::path('web-' . YII_ENV);
if (!file_exists($configFile)) {
    $configFile = \skeeks\cms\composer\config\Builder::path('web');
}
$config = (array) require $configFile;

$application = new yii\web\Application($config);
$application->run();

При этом любой из модулей, может добавить свои настройки в общий config проекта в любую из секций. И это всегд наглядно!

Вот например дополнительное решение https://github.com/skeeks-cms/cms-agent/blob/master/composer.json:

"extra": {
        "config-plugin": {
            "console": "src/config/main-console.php",
            "web": "src/config/main.php"
        }

Сразу становится понятно, что этот компонент принесен в общий проект после установки конфигуркции в 2 секции web и console.

Базовые сборки:

Еще одним важным нововведением являются базовые сборки проектов. Теперь мы поддерживаем базовые сборки для простого проекта и магазина:

https://github.com/skeeks-cms/cms-basic/blob/master/composer.json

https://github.com/skeeks-cms/cms-basic-shop/blob/master/composer.json

Ознакомьтесь с секцией require и обратите внимание какие пакеты они приносят с собой

Инструкция по переходу с версии 4 на версию 5

 

All Comments (0)
No Comments