Тестирование своего проекта

Тестирование своего проекта

Как бы разработчик не планировал и как бы тщательно не подходил к кодингу своего проекта, всегда есть нюансы, которые невозможно предусмотреть. Поэтому одним из самых эффективных способов тестирования — это использование приложения в реальных условиях. Read
Обновление сайта

Обновление сайта

26-05-2024Блог
Сегодня перевёл этот сайт на движок Albireo CMS. Основная задача — посмотреть как будет работать сайт на этой системе на реальном хостинге. В целом всё прошло неплохо, хотя было несколько неожиданных мелкостей. Где-то пришлось поправить пути, а также немного доработать механизм сессий. На локальном сервере такие вещи не «всплывали». Но в целом я доволен, думал, будет сложней. Read
Что такое Мультисайт?

Что такое Мультисайт?

Несколько неожиданно даже для меня, оказалось, что Albireo CMS может работать как мультисайт (multisite). Мультисайт — это возможность использовать единый «движок» системы для раздельных сайтов. Из самых популярных CMS, которые поддерживают мультисайтинг стоит отметить Drupal и WordPress (WPMU). Read
Производительность массивов в PHP

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

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

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

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

CMS для людей

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

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

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

PHP маршрутизатор (роутер)

10-04-2024PHP
Вопросы роутинга на PHP я уже рассматривал ранее, сейчас речь об его роли в архитектуре php-приложения. Достаточно долго я придерживался общепринятой точки зрения, что роутинг — это лишь та часть приложения, которая может быть заменена в любой момент. Сейчас же я считаю, что именно роутинг по сути и есть всё php-приложение. Read
Оптимизация PHP-приложения

Оптимизация PHP-приложения

07-04-2024PHP
Главная проблема современных php-приложений — их скорость. Они очень медленные. Для Albireo CMS я задался вопросом: насколько быстро она может работать на большом количестве файлов? Поскольку все записи в системе хранятся в файлах, то что будет, если довести количество файлов до 1000? А если 10000? Read
Шаблонизация в PHP

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

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