Backend

Статьи о backend-разработке. Уроки о программировании на PHP, проектировании баз данных. Да и вообще тут всё, что касается бэкенда: очереди, хайлоад, кеширование, оптимизация, профайлинг.


Статический анализ в PHP

Все мы привыкли к определению, что PHP – это язык со слабой динамической типизацией. В этом одновременно его преимущество и недостаток. Преимущества заключаются в том, что вы имеете больше возможностей по работе с динамическими данными: вызывать функции или объекты из строки, передавать и возвращать mixed типы и многое другое. В конце концов, только в PHP вы можете одновременно увидеть ужасные реализации паттерна ActiceRecord с динамическими свойствами (которые физически не определены в классе) и элегантные контейнеры внедрения зависимостей, которые дают значительно больше возможностей, чем аналогичные контейнеры в языках с сильной статической типизацией. Если говорить о недостатках, то это, разумеется, баги, связанные как раз с тем, что мы точно не знаем, что нам может вернуть, например, та же анонимная функция, каких типов параметры она принимает, какие ключи есть в массиве и так далее. По этой причине вам приходится обогащать свой код проверками в духе isset($data['key']) и тому подобное.

Читать далее


Пробуем KPHP: реально ли его использовать в своих проектах

ВК - крупнейшая социальная сеть в России. Её код изначально был написан на PHP - языке, позволяющим быстро реализовывать функционал веб-сайтов. Однако, PHP является интерпретируемым языком, что само собой не есть хорошо для высоких нагрузок.

Читать далее
25.08.2021 в 06:24
2664
+10

Как запускать долгоживущие скрипты на удаленном сервере

Зачастую приходится на удаленном сервере запускать скрипты вручную. К примеру, для миграции данных из одного хранилища в другое. Как обычно это происходит: заходим на сервак по ssh, запускаем скрипт, он там нам выводит какой-то прогресс (например, обработанные ID), после чего завершается. Однако, часто бывает так, что нужно запустить долгоживущий скрипт. Мне приходилось запускать скрипты, выполняющиеся несколько дней подряд. При этом, нельзя гарантировать что ssh-соединение не разорвётся из-за нестабильного интернета. И вот тут начинаются проблемы - мы можем не узнать, что скрипт корректно завершил свою работу. Не можем узнать, на каком ID он остановился, если произошла какая-то ошибка. О том, как эту проблему решить, мы и поговорим в этой статье.

Читать далее
24.06.2021 в 19:00
2059
+4


Как сделать уведомления в телеграм на PHP

Привет! Сегодня поговорим о том, как можно отправить себе сообщение в телеграмме с помощью PHP. Это удобно использовать, когда нужно получить уведомление о каком-то событии, произошедшем на бэкенде. Например, я таким образом получаю уведомления о новых комментариях к урокам.

Читать далее
23.06.2021 в 20:08
4875
+9

Установка и настройка XAMPP

В этом уроке мы рассмотрим настройку окружения, необходимого для разработки на PHP с помощью пакета XAMPP - это приложение, позволяющее быстро развернуть для локальной разработки связку из PHP, Apache, MariaDB (аналог MySQL). Эта программа, в отличие от OpenServer, настройка которого описана в этой статье, является кросс-платформенной, и может использоваться на компьютерах под управлением Windows, Linux и MacOS.
Прежде всего, скачайте и установите XAMPP с официального сайта.

Читать далее
13.06.2021 в 07:33
4065
+5


Красивый вывод var_dump. Инструкция для OpenServer

Очень многие новички и не только новички, часто спрашивают про красивый вывод var_dump.
И так что же это, как его настроить и подключить на Windows (OpenServer).

Читать далее

Обработка форм в PHP

В этом уроке мы рассмотрим примеры безопасной обработки запросов в PHP.

Читать далее


Отправка email в PHP: настройка OpenServer

В этом уроке мы научимся отправлять почту средствами PHP в рамках сервера OpenServer. О том, чем хорош этот сервер и о том, как его установить, я писал в статье "Установка и настройка OpenServer".

Читать далее
23.09.2018 в 11:27
35103
+145

Трейты в PHP

Как мы знаем, в PHP класс может наследоваться только от одного класса. Но как быть, если мы хотим иметь какой-либо функционал в разных классах, которые не являются наследниками друг друга? Для этого придумали трейты. Трейты в PHP – это такой механизм, который позволяет внутри классов избегать повторного использования кода.

Читать далее
17.05.2018 в 19:46
5746
+32


Как сделать несколько условий в Nginx

Зачастую в конфигурации nginx требуется проверить несколько условий. Однако запись вида if (условие1 && условие2) не поддерживается этим софтом. В этой статье я расскажу о небольшом трюке, который всё же позволяет сделать проверку нескольких условий.

Читать далее
09.06.2017 в 04:46
6195
+36

Логические задачи с собеседований