MaxSite.org

Как создать свой сайт

Админ-панель для Albireo

Дневник

Я продолжаю развивать Albireo Framework и теперь в нём доступна админ-панель. На начальном этапе я хотел отладить базовый функционал для разработчиков, потом был небольшой период тестирования и вот теперь сделал админ-панель с расчётом на конечного пользователя. Так же я сделал на сайте Albireo демо-доступ к админ-панели (без возможности менять файлы).

Поскольку Albireo работает с файлами, то админ-панель по сути отражает его текущее состояние. Это позволяет работать с файлами как через админку, так и напрямую по FTP.

Архитектурно админ-панель есть не что иное, как обычные страницы в pages/admin. Понятно, что адреса с «admin» теперь заняты под неё, но это минимальное ограничение. А так панель позволяет создавать, удалять (с возможностью бэкапа), редактировать файлы. При этом нет сложностей подключить свою админ-страницу — для примера я разместил страницу демо-модуля.

Из положительных «побочных эффектов» этой работы удалось сделать разделение прав пользователей. Например вы продаёте доступ к своему курсу. Можно полностью закрыть доступ к его страницам. Либо можно закрыть часть контента — первая будет доступна всем посетителям, а остальное только после авторизации.

Читать дальше →

Использование 7-Zip для бэкапа

Софт

Раньше я делал бэкапы с помощью RoboCopy. С ним всё замечательно кроме одного — размер бэкапа получается достаточно большим. Это особо заметно на текстовых файлах, когда даже простое zip-сжатие позволяет уменьшить занимаемое место в несколько раз.

Другая проблема — в бэкапе может оказаться очень много файлов, скажем несколько тысяч. В итоге, когда такой бэкап нужно куда-то ещё скопировать (даже в «облако») передача каждого файла занимает много времени. Тогда я и задумался: может применить какой-то архиватор, чтобы он сжимал все файлы в один. Его и передать можно быстро и хранить проще.

Выбор пал на 7-Zip. Это бесплатно, хорошее сжатие, но главное, что у него есть все необходимые опции.

Читать дальше →

Обновление документации MF

Шаблон MF

Шаблон MF имеет встроенную документацию, но я решил сделать её общедоступной. Теперь она располагается по адресу https://maxsite.org/mf. Там есть не только общие описания и справочная информация, но и я сделал руководство «Шаг за шагом», в котором последовательно можно научиться работать с шаблоном.

Большинство описаний сопровождено скриншотами, а также я сделал отдельную страницу скриншотов, чтобы можно было получить представление об MF перед его покупкой.

Пока документация ориентирована на 9-ю версию шаблона, но постепенно я буду её обновлять до будущей 10-й версии. Соответственно из комплекта MF встроенную документацию уберу, чтобы у всех была последняя актуальная версия.

Перейти к странице MF.

Читать дальше →

Обработка исключений и ошибок в PHP

PHP

Недавно мне попался проект, где добрая часть кода составляла обработка исключений. То есть создавалось впечатление, что автор хотел предусмотреть чуть ли не все возможные варианты. Хуже всего было то, что логика приложения была сама по себе завязана на эти самые исключения. То есть, вместо элементарной проверки входных данных кидалось исключение.

Пользоваться таким кодом очень сложно, поскольку приходится заключать каждую функцию/метод в блок try/catch, хотя было бы достаточно, если функция вернёт обычный false.

Мне кажется, что основная причина такого использования исключений в том, что у php-программистов нет понимания зачем исключения вообще нужны, а также в том, что их часто путают с обработкой ошибок.

Для новичков, которые не имеют опыта полноценного программирования (например на Pascal/Delphi) исключения — это вообще тёмный лес... Попробуем разобраться.

Читать дальше →

Albireo Framework

Дневник

Сделал новый php-фреймворк для лендингов и статичных сайтов. Также Albireo можно использовать для публикации примеров кода и вообще там, где нужно что-то быстренько накидать на HTML, CSS, JS или PHP. Фреймворк очень небольшой по объёму, но имеет хорошие возможности.

В какой-то мере Albireo Framework можно считать альтернативой Landing Page Framework, который я сделал несколько лет назад. Но LPF сейчас больше ориентирован на создание небольших сайтов, поскольку там есть админ-панель, авторизация, да и вообще он довольно неплохо «напичкан» по функционалу. Изначально он планировался как что-то простое, но постепенно я добавлял в него новые возможности для решения разных задач.

Когда стоит задача сделать что-то более-менее сложное, но очень-очень быстро работающее, то LPF — прекрасный выбор. Но вот для чего-то совсем простого — даже его функционала оказалось слишком много. Именно поэтому я и решил сделать новый фреймворк, в котором учёл весь накопленный опыт подобных проектов.

Читать дальше →

Перейти к странице: