?>

Veröffentlichung von SkeekS CMS (Yii2 CMS) 5.0.0-alpha

Veröffentlichung von SkeekS CMS (Yii2 CMS) 5.0.0-alpha

Wir haben die Version von SkeekS CMS auf die fünfte geändert. Weil die interne Architektur viel umgeschrieben hat. Die Versionen der Abhängigkeiten verschiedener Module wurden strikter festgelegt.

Der Wechsel zu Version 5 erfordert einen Eingriff in den Projektcode. Es reicht nicht aus, die Abhängigkeiten über Composer zu aktualisieren.

Jetzt wird alles im Projekt und seinen Komponenten über die Composer-Einstellungen konfiguriert!

Мы сменили версию 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

 

Alle Kommentare (0)
Keine Kommentare