Давайте облегчим AltoCms?

Блог им. Evg 13 июля 2019, 17:37 Evg
Иногда конструктор необходим, если скрипт ставят десятки, сотни человек, но в данном случае, для одного проекта нет такой необходимости.

Нам не нужен лишний код, который мы используем как основу, для последующего переопределение его. Зачем? Если можно сразу написать то, что надо нам. И дело даже не в объеме, а в полном контроле, пониманию того, что есть. Мне, например, легче работать со своим кодом, который минимален. Он не разбросан по папкам, все в одном месте.

Тут используется AltoCms: https://altocms.ru/
Хорошая, удобная система, но для нас, ИМХО, немного угловатая.

В общем, по умолчанию, мы видим стилей на 436кб, и FontAwesome на 702 кб. В css используется bootstrap, где далее мы начинаем переопределять свойства в своих файла.

sugata

Удаляем bootstrap и иконки (будут другие), переписываем css и шаблоны под себя, и видим другие объемы:

sugata

С js похожая история, когда подключались целые библиотеки — чтобы было. Не надо, и тут мы аналогично убираем лишнее.

Это сразу, что было сделано для «облегчению» пользовательской части, а что с ядром?

Ставим профилирование и с помощью, например, webgrind или любого более современного инструмента смотрим, что происходит.

sugata

Мы видим, что очень много на себе забирают: __call() и __callStatic(), которые вызываются, когда кто-то называет несуществующий метод. Вот точно магические свойства!

Хм. Но насколько это нам необходимо?

Не думаю, что это тут надо. Где есть конструктор — надо, но не тут. Начинаем переписывать, но это уже совсем другая история...

Как и со структурой. Тема —> Скины. Отказываемся от Скинов, на уровне темы добавляем и работаем с компонентами, как в Discourse, и получаем то, что надо.

В итоге, все очень просто, легко и главное, мы знаем, что и как работает. (Кошусь на Smarty).

P.S. не думал, что через 5 лет вернусь с ruby на php...
0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.