Микро-фреймворк как основа веб-проекта на PHP
04-05-2019PHP
Несколько лет назад я делал приватный проект, где было много математики и обработки данных. Поскольку хотелось сразу сделать правильно, то использовал ООП, классы, статические методы и ряд новых функций PHP 5.5. После того, как проект загрузили на «боевой» сервер, всё «разрушилось», поскольку там стояла PHP 5.2, которую (по каким-то особым причинам), нельзя было обновить. Код пришлось переписывать с учётом старой версии. Теперь, если сервер всё-таки обновят до PHP 7.x, код опять придётся переписывать, поскольку между версиями нет полной совместимости. Читать
Модульность в php-проекте
26-04-2019PHP
При разработке php-проекта часто возникает потребность разделить его на небольшие части — модули. Слово «модули» довольно расплывчато и в разных случаях может трактоваться по своему, но в данном случае речь идёт только о том, что модуль — это некий код, который может представлять собой единую сущность. Читать
Автозагрузка классов в PHP
23-04-2019PHP
Когда в проекте много php-классов, то возникает проблема подключения их файлов. Например есть классы Class1 и Class2. Для того, чтобы их использовать, вначале нужно подключить их php-файлы. Само по себе подключение — это обычные require или include, поэтому задача сводится к тому, чтобы указать правильный путь к php-файлу. По мере, того как классов становится всё больше, возникает серьезная проблема с подключением каждого файла класса. В идеале процесс подключения должен быть автоматизирован и в PHP для этого используется механизм автозагрузчика. Читать
MVC (Model-View-Controller) в PHP
05-04-2019PHP
Пока я не стал баловаться программированием на Javа, особо не задумывался над использованием MVC в PHP. Обычно действуешь по своему опыту или как это принято в php-фреймворке (или CMS, не важно). Тем более почти все фреймворки декларируют свою преданность концепции MVC: дескать вот у нас всё сделано правильно, по теории. Читать
Для чего нужны javascript-фреймворки
03-04-2019jQuery и JavaScript
В последнее время всё больше шума вокруг js-фреймворков React, Angular и Vue. Порой складывается впечатление, что без этих библиотек веб-разработка уже не существует и единственный верный путь - бросать «никому не нужный» PHP, и срочно изучать реакт, поскольку он сейчас самый якобы востребованный на рынке. :-) Читать
Паттерн Singleton в PHP
30-03-2019PHP/ООП
Можно сказать, что Singleton в PHP наиболее часто используемый паттерн. Смысл его работы в том, чтобы гарантировать существование одного единственного экземпляра переменной (класс, массив, не важно) во всём приложении. Зачем это вообще нужно? Читать
Шаблон MAX Bootes (MF)
19-03-2019Блог
MAX Bootes — ещё один новый шаблон, построенный на базе MF. Шаблон рассчитан на сайты, где активно используются изображения, поэтому сам шаблон выполнен в минималистическом дизайне. Читать
Шаблон MAX Auriga (MF)
07-03-2019Блог
MAX Auriga — это новый шаблон, построенный на базе MF, поэтому совместим с ним по блокам, компонентам, стилям и т.п. Читать
Работы по «MF». Редактирование записи на странице записи
26-12-2018Шаблоны для MaxSite CMS
После выхода WP5 с его «Гуттенбергом», я решил немного освежить старую информацию о том, как сейчас обстоят дела со свойством contenteditable. Кто не в курсе, то это такое свойство любого html-тэга, которое заставляет браузер включить режим редактирования. Читать
Работы по «MF». Подвал
18-12-2018Шаблоны для MaxSite CMS
Главная сложность с подвалом, как оказалось — это многообразие блоков и их настроек. По задумке подвалов может быть много (десятки). Изначально я планировал их сделать в виде компонентов, что в итоге приводит к некоторой путанице в админке. Кроме того, каждый такой компонент должен иметь свои настройки: даже элементарное — название сайта и какие-то ссылки. Тут ещё нюанс в том, что блоки подвала как правило, имеют одну html-разметку в виде flex-колонок: меняется только содержимое внутренних ячеек. Я тогда подумал остановится на универсальном решении, что-то вроде footer-cols1 из Default-шаблона. Но такой компонент настраивается через опции, и если их немного, то проблем нет, но что делать, если я захочу предложить 10 блоков? Настраивать все поля опций — ещё то занятие... Читать