Сайт вебмастера
Albireo Framework / CMS

Производительность массивов в PHP

Обычно в программировании мы стараемся писать код так, чтобы свести потребление памяти к минимуму. Конечно, можно полагаться на внутренние алгоритмы PHP, но если этого не сделать, то можно выхватить ошибку о нехватки памяти. Во времена PHP 5 она встречалась достаточно часто, поскольку хостинги обычно ограничивали лимиты до 32MB. Даже если использовалась база данных, полученная выборка могла привести к нехватки памяти. Поэтому во всех случаях старались оптимизировать SQL-запросы так, чтобы они возвращали как можно меньше данных. Читать

Админ-панель для сайта

Важная тема, которая затрагивает практически любого владельца сайта. Есть мнение, что сайт с админ-панелью — это что-то очень сложное и даже многие разработчики думают о разработке админ-панели с благоговейным трепетом. Когда-то я сам попался на эту удочку... При разработке MaxSite CMS я выделил себе для админ-панели где-то неделю неспешного времени. Так мне казалось, что задача трудная. На деле всё было сделано за пару часов. Читать

CMS для людей

За всё время было создано наверное десятки тысяч самых разных CMS для сайтов (Content management system). Понятно, что львиная их доля была написана просто так, скажем, в учебных целях, другая часть под какие-то свои задачи. Популярных систем вообще можно пересчитать по пальцам, а актуальных, то есть тех, которые ещё держатся на плаву, осталось довольно много, но все они стараются копировать другие системы. Корень проблемы в истории развития CMS. Читать

Опции и настройки в PHP-проекте

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

Шаблонизация в PHP

Шаблонизация — глобальная проблема в PHP. Под этим словом часто подразумевают разные методы и подходы, но в целом речь всегда идёт о том, чтобы упростить использование PHP в HTML. Ещё нужно иметь ввиду, что шаблонизация может означать два варианта. Первый — это шаблон сайта. Это как правило прерогатива CMS и может называться «темизацией», от слова «theme» — тема. Второй — это «template engine» — вывод готовых данных в виде суррогата, имитирующего php-код. По сути это всё одно и тоже. Шаблонизация — это интеграция логики и данных из PHP в HTML-структуру. Читать

Эффективная архитектура PHP-приложения

Изначально я хотел просто использовать Albireo Framework за основу Albireo CMS, но в процессе поставил перед собой задачи, для которых структура фрейворка не подходила для CMS. Хотя, вообще, если заглянуть намного назад, то был (в общем-то и есть) у меня проект, где я хотел написать свой полноценный PHP-фреймворк, наподобии CodeIgniter, только более гибкий. Разрабатывал я его в свободное время несколько лет и постепенно вырисовывалась очень приятственная картина. Дальше 18+. Читать

Создаем статистику для сайта своими руками

Сегодня я расскажу как создать статистику для своего сайта на Albireo Framework. Для хранения статистики будет использоваться база SQLite. Я покажу базовый пример, который вы сможете расширить под свою задачу. Лично мне нужна была статистика по страницам с группировкой по дате (посуточно). Читать