DEV: Перейдем на Composer?

Evg Evg 30 Апреля 2022 (ред)

На GitHub появится файл composer.json и сайт надо будет собрать. А очередной архив (уже собранный) у кого нет возможность использовать composer видимо надо и на этом сайте размещать.

Релизы новые. А если размещать тут собранный архив, то логично начать писать, что было сделано, какие изменения внесены. Создать Тему  — Релизы.

Систематизировать всё это дело.

Сейчас много дополнений появляется, миграция, например, локализация и др. Они большие. Сложно становится поддерживать и прописывать все эти классы.

Composer многое упростить.

Compose LibArea
Сайт переверен, теперь предстоит заняться организацией структуры.

Ведь многое поменялось и будет далее сделано по другому.

После того, как убрал автозагрузчик фреймворка:

define( 'HLEB_PROJECT_CLASSES_AUTOLOAD', false );

и раз есть композер, то пусть он и работает, расход памяти стал меньше 1МБ.

Фактически, если отключить DEBUG (хотя бы ради безопасности) все показатели ещё улучшатся.

13 Ответов

  1. German German 30 Апреля 2022 (ред.)

    Моё мнение вы знаете, это надо было сделать ещё вчера. )

    1. Evg Evg 30 Апреля 2022 (ред.)

      Сопротивлялся до последнего. Чес слово smile

  1. Thomas Thomas 30 Апреля 2022 (ред.)

    Когда нам ждать новой версии? smile

    1. Evg Evg 30 Апреля 2022 (ред.)

      Как ошибки будут исправлены, логи смотрю и если что-то всплывет, исправлю.

  1. Evg Evg 1 Мая 2022

    Ошибки которые были найдены, исправлены. Спасибо всем за тестирование, много ошибок исправлено plus

    Релиз готов:

    https://github.com/LibArea/libarea/releases/tag/v0.3.8

    Перед началом обновления обязательно сделайте резервную копию своего сайта и дамп базы данных!

    Замене подлежат директории: app, modules, resources и routes.

    P.S. Далее версии будут использовать Composer. (если не будут найдены ещё ошибки в текущем)

  1. Если переделывать локализацию, то хотел обратить внимание на синтаксис. Сейчас это выглядит так:

    // file en.php
    'choose.lang' => 'Choose your language'
    
    __('choose.lang');

    Используются точки для разделение слов. Мне ближе формат, когда точка показывает название файла:

    // file app.php
    'chooseLang' => 'Choose your language'
    
    __('app.chooseLang');

    А сам ключ является составным используя разный регист, как в примере выше.

    Если использовать строковые значения:

    // file en.php
    'chooseLang' => 'Choose your language'
    
    __('chooseLang');

    То подобный формат для меня более предпочтительней. Если заменить локализацию, то и конфигурацию, где сейчас используются множество точек не совсем понятно для чего.

    1. Да, я согласен по поводу точек. Изучил Symfony, Laravel, как там сделано и ряд ещё других продуктов. По разному, ваш подход использует Codeigniter 4, в нём что-то есть, но мне более привычно первые два. кстати, глянул вообще код и подходы.

      Вот все Laravel, Laravel, а Symfony то почетче будет, ИМХО. И конечно сам код, крутой, тут нечего сказать. Красивый даже!

      Laravel, мне вообще показалось, что они пишут, как можно меньше в плане боятся напортачить. Чем меньше строк в методе, тем потенциально ошибок меньше )) а Symfony по другому как-то, не могу объяснить это дело.

  1. У меня он есть, но я не понимаю, как с ним работать. Сколько бы не пытался, не даётся, все эти контейнеры и прочее, нет)

    1. Evg Evg 1 Мая 2022 (ред.)

      Архив я буду формировать для скачки на этом сайте. Каждый релиз публиковать с собранным архивом и описанием изменений.

  1. Evg Evg 4 Мая 2022

    Переход начался. Буду делать поэтапно. На данный момент изменения такие: 602 changed files with 1,837 additions and 125,420 deletions. Работы достаточно много. Часть пернес в Libraries, но они подлежать удалению, плюс локализация только рус. и англ. На GitHub разместил, т.к. это необходимо для некоторых совместных действий. Одному долго локализацию делать, например.

    И теперь, когда часть (а скоро все) библиотеки будут вынесены, то можно хорошо почистить код. Я не занимался рефакторингом и некоторыми другими вещами потому, что был вопрос — переходить или нет, т.к. от этого зависело многое. Теперь вопрос закрыт, назад пути нет smile работаем далее, вот и всё.

    1. Yori Yori 4 Мая 2022 (ред.)

      Хорошая новость! Возможно далее дело пойдет ещё быстрее.

  1. Evg Evg 5 Мая 2022

    packagist.org сайт еще учёбы подкинул. По поводу создания новых релизов. Интересно, в ранних был файл composer.json, потом он был убран. А нового релиза нет с этим файлам. Весь файл composer.json переделывал 100 раз, хотя логи, прямо говорят, что он ищет его.

    Создал новую тему: v0−4-0

    1. German German 5 Мая 2022 (ред.)

      Не могу в этом случае подсказать, говорил вам, на GO писать надо было. smile