Fesor
@Fesor
Full-stack developer (Symfony, Angular)

Написание CMS на основе фреймворка?

Собственно уже давно занимаюсь написанием своих CMS (под конкретные нужды) — вот недавно для себя решил реализовать более менее универсальную CMS на основе фремворка (YII). Когда написал основу выяснилось что потребление ресурсов неоправданно высокое, да и красиво реализовать не изменяя ключевые методы фреймворка (например метод init() класса YiiBase) не представляется возможным. На данном этапе разработка идет так сказать, just for fun.



Пока вариантов всего три:

  1. Написание на основе YII не трогая сам фреймворк
  2. Оптимизация ядра YII, последствием которого станет вырезание лишнего и частичная перепись базовых классов.
  3. Написание собственного относительно легкого фреймворка со структурой максимально приближенной к YII (для меня эта структура кажется наиболее простой для понимания) со возможность, конечно же, внеся небольшие изменения, подключать компоненты YII.




1-е два способа хороши тем, что в этом случае приложения по своей структуре будут идентичны приложениям YII. Хотя и третьий способ подразумевает это, но структуру можно чуть упростить в этом случае.



Что на ваш взгляд лучше с точки зрения оптимизации? И вообще если бы появилась нормальная система основанная на YII (существующие далеко не идеал) получило бы это распространение? Хотелось бы все же, что бы какую-то пользу этот бесполезный пока труд принес.
  • Вопрос задан
  • 3745 просмотров
Пригласить эксперта
Ответы на вопрос 2
@edogs
CMS на Yii имеет право на существование только в том случае, если апгрейд фреймворка до новой версии не остановит ее работу и все функции фреймворка будут работать как задумано. Иначе это будет уже CMS на чем-то похожем на Yii и смысл теряется.
Поэтому варианты 2 и 3 отпадают по сути.
А вот к 1 варианту есть смысл прибавить «удаление бутылочных горлышек» которые кушают ресурсы, или с изменением фреймворка и обязательным коммитом в сам Yii… (если их примут) или через плагинизацию, не меняющую основной код Yii (допустим дополнительный кэширующий слой).
Ответ написан
JeanLouis
@JeanLouis
Хорошо, что вы осознаете, что это велосипед.

Если вы хотите писать какую-то узкую CMS, то вам совершенно нет нужды использовать фреймворк YII в том виде, в котором он есть, если вы считаете, что он вас ограничивает.

В этом случае, остается 2 и 3 вариант. Нужно идти в сторону того, чтобы минимизировать затраты при той же эффективности. Если вы сможете изменить YII так как вам требуется, то третий вариант будет неэффективен.

Но лично я, для just for fun, предпочел бы делать все саму, это дает замечательный опыт.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы