Теперь MaxSite CMS работает на PHP 7. В текущей версии я завершил основной рефакторинг кода. Насколько это было возможно, система теперь в целом поддерживает рекомендацию PSR 12 (и старые PSR 1 и PSR 2). В этой версии каких-то существенный изменений по функционалу не было, поэтому вы можете пропустить это обновление. Более того, я скорее всего буду вносить ещё новые изменения, поэтому вы можете дождаться выхода следующей MaxSite CMS 106, чтобы обновиться за один раз.
Вместе с тем, я буду признателен тем, кто поставит эту версию для тестирования. Объём переделок очень большой, поэтому возможны какие-то недочеты или даже ошибки. Лучше сообщать о них на гитхабе.
Теперь о том что изменилось и что нужно учесть при обновлении.
Основная задача — переделка «ядра». Основной файл common.php
был разделён на множество тематических файлов в подкаталоге core
. Изначально я хотел, чтобы у MaxSite CMS было «моноядро» в одном файле. Это удобно во многих случаях. Но со временем система росла и common.php
стал слишком крупным и неудобным для поддержки. Поэтому текущее деление немного упростит общую структуру «ядра» системы и его поддержку.
Файлы, которые в core
будут всегда подключаться. В него я перенёс meta.php
, а также классы Page_out, Block_pages и Thumb, включая их дополнительные функции. Кроме этого в common.php
также подключаются функции записей и рубрик. Ранее все эти файлы требовалось подключать отдельно в шаблоне или плагинах. Теперь не нужно. Опыт показал, что все они так или иначе всегда подключаются.
Каталог share/stock
, соответственно, удалён. Проблему может вызвать отсутствующий thumb.php
, поскольку он напрямую загружался из самого шаблона. В Default-шаблоне это файл type_foreach/page-other-pages-out.php
. Там строчка:
require_once(getinfo('shared_dir') . 'stock/thumb/thumb.php');
- которую можно просто удалить. Аналогично можно удалить в index.php
(они не создают ошибок):
require_once(getinfo('common_dir') . 'page.php'); // функции страниц require_once(getinfo('common_dir') . 'category.php'); // функции рубрик
Если же вы вебмастер и у вас много шаблонов, то можно сделать временную заглушку: пустой файл shared/stock/thumb/thumb.php
, это избавит от ошибки отсутствующего thumb.php
.
Файл page.php
также был разделён на несколько файлов.
Если вы пользуетесь Default-шаблоном, то в нём я поменял компонент _social (вывод соц.иконок). Раньше иконки задавались в виде части css-класса, где префикс «i-» добавлялся автоматом. Сейчас нужно указывать полностью весь css-класс. Это изменения связано с переходом на будущий шаблон, где будет Font Awesome 5 — в нём иконки задаются двумя классами. Если же у вас свой шаблон, то ничего менять не нужно.
Обновляться на MaxSite CMS 105 нужно универсальным способом, поскольку часть файлов была удалена, а значит может возникнуть конфликт. Изменений по базе нет, поэтому возможно вернуть любую версию системы без проблем.
Дальше у меня в планах дальнейшая работа по рефакторингу кода, после чего я выложу новый default-шаблон и, возможно успею переписать инсталятор (есть по нему задачи). Всё это будет в рамках 105-й версии с релизом 106-й, который завершит полный переход на обновлённое ядро.
Комментариев: 3 RSS
1vovansСайт16-01-2020 23:34
Уф, откатился на v104. Случайно автобоновлением на 105 обновил. Увы, у меня пока на vps старая версия Убунту, нужно обновиться, но руки не доходят. А обновляться, нужно шаблон основного сайте переделывать полностью. Там ещё совсем древность движок. Вот это главный останавливающий фактор. Время на такой серьёзный шаг нет (
Но я очень рад, что движок развивается и рад, что такие значимые изменения делаются. Это очень хорошо!
2Сергей19-01-2020 06:04
Обновился на v105 PHP7.3 - вроде работает нормально. Повысил версию PHP до 7.4 - выдается ошибка:
===
A PHP Error was encountered
Severity: Notice
Message: ob_end_clean(): failed to delete buffer. No buffer to delete
Filename: main/main-end.php
Line Number: 11
===
3Максим19-01-2020 09:41
Я на PHP 7.4 ещё не тестировал, даже не пробовал.
Попробуйте заменить эту строчку на
Если еще будут ошибки, то лучше писать на гитхаб.