Быстрые стартеры

Как создать бэкенд для PHP?

40min

Введение

В этом учебном пособии вы узнаете как создать бэкенд для PHP с помощью Back4App для поддержки динамического веб-приложения на стороне сервера.

Мы сосредоточимся на интеграции ключевых сервисов Back4App, таких как управление базами данных, функции Cloud Code, REST и GraphQL API, аутентификация пользователей и запросы в реальном времени.

Следуя этим шагам, вы создадите безопасный, масштабируемый и надежный бэкенд, который сможете использовать в своих проектах на PHP.

Мы также рассмотрим, почему Back4App ускоряет разработку бэкенда по сравнению с созданием всего с нуля, чтобы вы могли сэкономить время и усилия.

Вы узнаете, как реализовать продвинутую безопасность, планировать задачи с помощью Cloud Jobs и подключать внешние интеграции с помощью вебхуков, полагаясь на инфраструктуру Back4App.

К концу вы будете готовы развить этот базовый бэкенд на стороне сервера в полноценную производственную настройку или интегрировать сторонние API и пользовательскую логику для реального использования.

Предварительные требования

Чтобы завершить этот учебник, вам потребуется:

  • Учетная запись Back4app и новый проект Back4App Начало работы с Back4app. Если у вас нет учетной записи, создайте ее бесплатно и следуйте руководству, чтобы подготовить ваш новый проект.
  • Базовая среда разработки PHP Вы можете настроить это локально с установленным PHP или использовать хостинг, который поддерживает PHP. Официальная документация PHP.
  • Поддержка cURL или способ отправки HTTP-запросов Большинство установок PHP по умолчанию включают cURL. Установка cURL (официальная документация).
  • Знание основ веб-приложений Понимание HTTP, серверного скриптинга и основных концепций баз данных будет полезным.

Убедитесь, что у вас есть эти предварительные условия перед тем, как погрузиться в шаги ниже. Наличие вашего проекта Back4App и готовой среды PHP упростит процесс.

Шаг 1 – Настройка проекта Back4App

Создание нового проекта

Первый шаг в создании вашего серверного бэкенда на Back4App – это создание нового проекта. Если вы еще этого не сделали, выполните следующие шаги:

  1. Войдите в свою учетную запись Back4App.
  2. Нажмите кнопку “Новое приложение” в вашей панели управления Back4App.
  3. Дайте вашему приложению имя (например, “PHP-Backend-Tutorial”).
Document image


После создания ваш новый проект Back4App появится в панели управления. Этот проект станет основой для предстоящих шагов конфигурации.

Подключение к Back4App через REST API

Поскольку мы работаем с PHP без специфического SDK для Parse, мы будем полагаться на REST и GraphQL API Back4App для связи. Вам понадобятся следующие учетные данные из вашей панели управления Back4App:

  • Идентификатор приложения
  • Ключ REST API
  • URL сервера Parse (обычно https://parseapi.back4app.com)

Вы можете найти их, перейдя в раздел Настройки приложения или Безопасность и ключи.

Document image


В PHP вы можете выполнять HTTP-запросы, используя cURL или другие библиотеки. Ниже приведен короткий пример отправки POST-запроса в Back4App:

PHP


Этот фрагмент демонстрирует, как подключить ваше PHP-приложение к вашему бэкенду Back4App. Измените YOUR_APPLICATION_ID, YOUR_REST_API_KEY, и другие параметры, чтобы они соответствовали вашим собственным ключам. Таким образом, ваш серверный код сможет читать и записывать данные в вашем новом проекте.

Шаг 2 – Настройка базы данных

Создание модели данных

Когда ваш проект Back4App готов, пора структурировать вашу базу данных. Модель данных определяет, как организованы данные вашего веб-приложения. Например, вы можете хранить задачи или блоги в классах.

  1. Перейдите в раздел “База данных” в вашей панели управления Back4App.
  2. Создайте новый класс (например, “Todo”) с полями, такими как title (String) и isCompleted (Boolean).
Создать новый класс
Создать новый класс


Back4App позволяет вам создавать столбцы для различных типов данных, включая String, Number, Boolean, Pointer, Relation, File, и другие. Вы также можете позволить схеме создаваться автоматически, когда вы впервые сохраняете объект из вашего PHP-скрипта.

Создать столбец
Создать столбец


Создание модели данных с использованием AI-агента

AI-агент Back4App может автоматизировать создание модели данных:

  1. Откройте AI-агент из панели управления.
  2. Предоставьте описание вроде “Пожалуйста, создайте новое приложение ToDo в Back4App с полной схемой классов.”
  3. Позвольте AI-агенту создать схему базы данных для вас.
Document image


Эта функция может сэкономить ваше время и поддерживать согласованность вашего серверного приложения.

Чтение и запись данных (REST API)

Чтобы сохранить новый объект в вашем Todo классе с использованием REST, вы можете отправить POST-запрос:

Bash


На PHP вы бы сделали что-то подобное с cURL. Например:

PHP


Чтобы запросить все существующие Todo элементы:

Bash


Чтение и запись данных (GraphQL API)

Back4App также поддерживает GraphQL. Вы можете вставлять или извлекать данные, отправляя запросы или мутации GraphQL на:

Text


Вставка (мутация):

GraphQL


Запрос:

GraphQL


Работа с живыми запросами (по желанию)

Если вам нужны обновления в реальном времени в вашем веб-приложении, рассмотрите Живые запросы. Включите живые запросы в вашей панели управления Back4App, затем используйте подход WebSocket из вашей среды PHP (или отдельного клиента) для подписки на изменения. Хотя это более распространено в клиентах JavaScript, вы можете настроить отдельные сокеты в PHP, если это необходимо. Для получения подробной информации смотрите Документацию по живым запросам Back4App.

Шаг 3 – Применение безопасности с помощью ACL и CLP

Краткий обзор

ACL (Списки управления доступом) и CLP (Разрешения на уровне класса) защищают ваши данные, контролируя, кто может читать или записывать объекты. Это защищает ваш бэкенд от несанкционированного доступа.

Document image


Пошагово

  1. Установите разрешения на уровне класса (CLP) в панели управления базой данных. Вы можете ограничить публичное чтение/запись или потребовать аутентификацию.
  2. Настройте ACL для каждого объекта, если вам нужен детальный контроль. ACL может указывать доступ на чтение/запись для конкретного пользователя или роли.

Для получения дополнительной информации смотрите Руководство по безопасности приложений.

Шаг 4 – Написание функций облачного кода

Почему облачный код

Облачный код позволяет вам выполнять серверный JavaScript для задач, таких как бизнес-логика, триггеры или валидации, без настройки собственного сервера. Таким образом, вы можете скрыть определенный код, выполнять преобразования данных и многое другое.

Пример функции

Простая функция облачного кода, которая вычисляет длину текста:

JS


Эту функцию можно вызвать из вашего PHP-скрипта с помощью REST:

Bash


Развертывание

Вы можете развернуть Cloud Code через Back4App CLI или панель управления Back4App.

Модули NPM

Если вам нужны дополнительные библиотеки, установите их с помощью npm и импортируйте в ваш Cloud Code. Это полезно для сложных серверных интеграций.

Шаг 5 – Настройка аутентификации

Включить аутентификацию

По умолчанию ваш проект Back4App имеет аутентификацию пользователей через класс Parse.User. Вы можете контролировать, должны ли пользователи подтверждать свою электронную почту или просто входить с помощью имени пользователя/пароля.

Регистрация, вход, выход (REST)

Создать пользователя:

Bash


Войти в существующего пользователя:

Bash


Социальный вход

Социальные входы (Google, Apple, Facebook) возможны при настройке OAuth потоков. Для инструкций обратитесь к Документации по социальным входам.

Шаг 6 – Обработка хранения файлов

Настройка хранения файлов

Вы можете загружать файлы через REST:

Bash


Ответ в формате JSON содержит URL файла. Вы можете сохранить этот URL в своих классах для ссылки на загруженный файл.

Пример

Bash


Соображения безопасности

Вы можете разрешить загрузку файлов только от аутентифицированных пользователей или от определенных ролей. Настройте правила загрузки файлов в настройках сервера.

Шаг 7 – Подтверждение электронной почты и сброс пароля

Обзор

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

Настройка панели управления

  1. В панели управления Back4App, перейдите в Настройки приложения > Электронная почта.
  2. Включите подтверждение электронной почты и настройте желаемые шаблоны.
  3. Включите сброс пароля чтобы пользователи могли восстанавливать учетные записи.

Реализация

После активации регистрации пользователей запускает проверочное письмо. Вы также можете запросить сброс пароля с помощью:

Bash


Шаг 8 – Планирование задач с помощью облачных заданий

Что делают облачные задания

Облачные задания позволяют автоматизировать задачи, такие как удаление старых данных или отправка регулярных писем. Вы можете написать их в вашем main.js и запланировать их на панели управления Back4App.

Пример

JS

  1. Разверните этот код на Back4App.
  2. Запланируйте задание на панели управления в разделе Настройки приложения > Настройки сервера > Фоновая работа.
Запланировать облачную задачу
Запланировать облачную задачу


Шаг 9 – Интеграция вебхуков

Определение

Вебхуки позволяют отправлять HTTP-запросы в другие сервисы, когда происходят события, такие как создание новой записи в ваших классах Back4App. Это полезно для внешних интеграций, включая платежные платформы, инструменты email-маркетинга или уведомления в Slack.

Конфигурация

  1. Откройте панель Вебхуков в вашей панели управления Back4App > Еще > Вебхуки.
  2. Добавьте новый вебхук с URL-адресом конечной точки, куда вы хотите отправить данные события.
  3. Выберите триггеры (например, создание объекта, обновление или удаление).
Добавление вебхука
Добавление вебхука


Вы также можете определить вебхуки в Cloud Code триггерах, выполняя HTTP-запросы с помощью модулей Node.js, таких как axios.

BeforeSave WebHook
BeforeSave WebHook


Шаг 10 – Изучение панели администратора Back4App

Приложение Back4App Admin App является интерфейсом, ориентированным на модели, который позволяет нетехническим пользователям или администраторам управлять данными без написания кода. Оно предлагает более интуитивно понятный опыт работы с данными, чем стандартная панель управления Parse.

Где это найти

  1. Включите приложение администратора перейдя в Панель приложений > Дополнительно > Приложение администратора.
  2. Нажмите “Включить приложение администратора” и настройте свои учетные данные администратора.
  3. Выберите поддомен для доступа к приложению администратора.
Включите приложение администратора
Включите приложение администратора

Document image


Войдите с вашими вновь созданными учетными данными администратора, чтобы начать управлять записями базы данных, учетными записями пользователей, ролями и многим другим.

Document image


Заключение

В этом учебном пособии вы узнали, как создать серверную часть для вашего PHP веб-приложения с использованием Back4App. Вы настроили безопасную базу данных, использовали функции реального времени, определили пользовательскую логику в Cloud Code и изучили аутентификацию пользователей, хранение файлов и запланированные задачи. Вы также увидели, как вебхуки и панель администратора могут интегрироваться с внешними сервисами и упрощать управление данными.

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

Следующие шаги

  • Усовершенствуйте ваше готовое к производству приложение на PHP добавив кэширование, балансировку нагрузки или продвинутую безопасность.
  • Добавьте контроль доступа на основе ролей или уникальные потоки аутентификации, если это необходимо вашей базе пользователей.
  • Консультируйтесь с официальной документацией Back4App чтобы узнать больше о настройке производительности, логах и аналитике.
  • Попробуйте дополнительные учебные пособия и используйте изученные здесь техники для создания реальных решений, от электронной коммерции до социальных платформ.