Сайт вебмастера

Микро-фреймворк как основа веб-проекта на 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-фреймворки

В последнее время всё больше шума вокруг 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». Редактирование записи на странице записи

После выхода WP5 с его «Гуттенбергом», я решил немного освежить старую информацию о том, как сейчас обстоят дела со свойством contenteditable. Кто не в курсе, то это такое свойство любого html-тэга, которое заставляет браузер включить режим редактирования. Читать

Работы по «MF». Подвал

Главная сложность с подвалом, как оказалось — это многообразие блоков и их настроек. По задумке подвалов может быть много (десятки). Изначально я планировал их сделать в виде компонентов, что в итоге приводит к некоторой путанице в админке. Кроме того, каждый такой компонент должен иметь свои настройки: даже элементарное — название сайта и какие-то ссылки. Тут ещё нюанс в том, что блоки подвала как правило, имеют одну html-разметку в виде flex-колонок: меняется только содержимое внутренних ячеек. Я тогда подумал остановится на универсальном решении, что-то вроде footer-cols1 из Default-шаблона. Но такой компонент настраивается через опции, и если их немного, то проблем нет, но что делать, если я захочу предложить 10 блоков? Настраивать все поля опций — ещё то занятие... Читать