Как создать бэкенд для PHP?
В этом учебном пособии вы узнаете как создать бэкенд для 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 упростит процесс.
Первый шаг в создании вашего серверного бэкенда на Back4App – это создание нового проекта. Если вы еще этого не сделали, выполните следующие шаги:
- Войдите в свою учетную запись Back4App.
- Нажмите кнопку “Новое приложение” в вашей панели управления Back4App.
- Дайте вашему приложению имя (например, “PHP-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
После создания ваш новый проект Back4App появится в панели управления. Этот проект станет основой для предстоящих шагов конфигурации.
Поскольку мы работаем с PHP без специфического SDK для Parse, мы будем полагаться на REST и GraphQL API Back4App для связи. Вам понадобятся следующие учетные данные из вашей панели управления Back4App:
- Идентификатор приложения
- Ключ REST API
- URL сервера Parse (обычно https://parseapi.back4app.com)
Вы можете найти их, перейдя в раздел Настройки приложения или Безопасность и ключи.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
В PHP вы можете выполнять HTTP-запросы, используя cURL или другие библиотеки. Ниже приведен короткий пример отправки POST-запроса в Back4App:
Этот фрагмент демонстрирует, как подключить ваше PHP-приложение к вашему бэкенду Back4App. Измените YOUR_APPLICATION_ID, YOUR_REST_API_KEY, и другие параметры, чтобы они соответствовали вашим собственным ключам. Таким образом, ваш серверный код сможет читать и записывать данные в вашем новом проекте.
Когда ваш проект Back4App готов, пора структурировать вашу базу данных. Модель данных определяет, как организованы данные вашего веб-приложения. Например, вы можете хранить задачи или блоги в классах.
- Перейдите в раздел “База данных” в вашей панели управления Back4App.
- Создайте новый класс (например, “Todo”) с полями, такими как title (String) и isCompleted (Boolean).
![Создать новый класс Создать новый класс](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Back4App позволяет вам создавать столбцы для различных типов данных, включая String, Number, Boolean, Pointer, Relation, File, и другие. Вы также можете позволить схеме создаваться автоматически, когда вы впервые сохраняете объект из вашего PHP-скрипта.
![Создать столбец Создать столбец](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/DEh9vyxdBTZcslXxkVQMA_image.png?format=webp)
AI-агент Back4App может автоматизировать создание модели данных:
- Откройте AI-агент из панели управления.
- Предоставьте описание вроде “Пожалуйста, создайте новое приложение ToDo в Back4App с полной схемой классов.”
- Позвольте AI-агенту создать схему базы данных для вас.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Эта функция может сэкономить ваше время и поддерживать согласованность вашего серверного приложения.
Чтобы сохранить новый объект в вашем Todo классе с использованием REST, вы можете отправить POST-запрос:
На PHP вы бы сделали что-то подобное с cURL. Например:
Чтобы запросить все существующие Todo элементы:
Back4App также поддерживает GraphQL. Вы можете вставлять или извлекать данные, отправляя запросы или мутации GraphQL на:
Вставка (мутация):
Запрос:
Если вам нужны обновления в реальном времени в вашем веб-приложении, рассмотрите Живые запросы. Включите живые запросы в вашей панели управления Back4App, затем используйте подход WebSocket из вашей среды PHP (или отдельного клиента) для подписки на изменения. Хотя это более распространено в клиентах JavaScript, вы можете настроить отдельные сокеты в PHP, если это необходимо. Для получения подробной информации смотрите Документацию по живым запросам Back4App.
ACL (Списки управления доступом) и CLP (Разрешения на уровне класса) защищают ваши данные, контролируя, кто может читать или записывать объекты. Это защищает ваш бэкенд от несанкционированного доступа.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
- Установите разрешения на уровне класса (CLP) в панели управления базой данных. Вы можете ограничить публичное чтение/запись или потребовать аутентификацию.
- Настройте ACL для каждого объекта, если вам нужен детальный контроль. ACL может указывать доступ на чтение/запись для конкретного пользователя или роли.
Для получения дополнительной информации смотрите Руководство по безопасности приложений.
Облачный код позволяет вам выполнять серверный JavaScript для задач, таких как бизнес-логика, триггеры или валидации, без настройки собственного сервера. Таким образом, вы можете скрыть определенный код, выполнять преобразования данных и многое другое.
Простая функция облачного кода, которая вычисляет длину текста:
Эту функцию можно вызвать из вашего PHP-скрипта с помощью REST:
Вы можете развернуть Cloud Code через Back4App CLI или панель управления Back4App.
Если вам нужны дополнительные библиотеки, установите их с помощью npm и импортируйте в ваш Cloud Code. Это полезно для сложных серверных интеграций.
По умолчанию ваш проект Back4App имеет аутентификацию пользователей через класс Parse.User. Вы можете контролировать, должны ли пользователи подтверждать свою электронную почту или просто входить с помощью имени пользователя/пароля.
Создать пользователя:
Войти в существующего пользователя:
Социальные входы (Google, Apple, Facebook) возможны при настройке OAuth потоков. Для инструкций обратитесь к Документации по социальным входам.
Вы можете загружать файлы через REST:
Ответ в формате JSON содержит URL файла. Вы можете сохранить этот URL в своих классах для ссылки на загруженный файл.
Вы можете разрешить загрузку файлов только от аутентифицированных пользователей или от определенных ролей. Настройте правила загрузки файлов в настройках сервера.
Подтверждение электронной почты гарантирует, что используются только действительные адреса электронной почты. Сброс пароля позволяет пользователям безопасно восстанавливать свои учетные записи.
- В панели управления Back4App, перейдите в Настройки приложения > Электронная почта.
- Включите подтверждение электронной почты и настройте желаемые шаблоны.
- Включите сброс пароля чтобы пользователи могли восстанавливать учетные записи.
После активации регистрации пользователей запускает проверочное письмо. Вы также можете запросить сброс пароля с помощью:
Облачные задания позволяют автоматизировать задачи, такие как удаление старых данных или отправка регулярных писем. Вы можете написать их в вашем main.js и запланировать их на панели управления Back4App.
- Разверните этот код на Back4App.
- Запланируйте задание на панели управления в разделе Настройки приложения > Настройки сервера > Фоновая работа.
![Запланировать облачную задачу Запланировать облачную задачу](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Вебхуки позволяют отправлять HTTP-запросы в другие сервисы, когда происходят события, такие как создание новой записи в ваших классах Back4App. Это полезно для внешних интеграций, включая платежные платформы, инструменты email-маркетинга или уведомления в Slack.
- Откройте панель Вебхуков в вашей панели управления Back4App > Еще > Вебхуки.
- Добавьте новый вебхук с URL-адресом конечной точки, куда вы хотите отправить данные события.
- Выберите триггеры (например, создание объекта, обновление или удаление).
![Добавление вебхука Добавление вебхука](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Вы также можете определить вебхуки в Cloud Code триггерах, выполняя HTTP-запросы с помощью модулей Node.js, таких как axios.
![BeforeSave WebHook BeforeSave WebHook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/fXvy4eRzabyWmN80OMyqW_image.png?format=webp)
Приложение Back4App Admin App является интерфейсом, ориентированным на модели, который позволяет нетехническим пользователям или администраторам управлять данными без написания кода. Оно предлагает более интуитивно понятный опыт работы с данными, чем стандартная панель управления Parse.
- Включите приложение администратора перейдя в Панель приложений > Дополнительно > Приложение администратора.
- Нажмите “Включить приложение администратора” и настройте свои учетные данные администратора.
- Выберите поддомен для доступа к приложению администратора.
![Включите приложение администратора Включите приложение администратора](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/u-pU1yBJJxa9KEM2psjXS_image.png?format=webp)
Войдите с вашими вновь созданными учетными данными администратора, чтобы начать управлять записями базы данных, учетными записями пользователей, ролями и многим другим.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
В этом учебном пособии вы узнали, как создать серверную часть для вашего PHP веб-приложения с использованием Back4App. Вы настроили безопасную базу данных, использовали функции реального времени, определили пользовательскую логику в Cloud Code и изучили аутентификацию пользователей, хранение файлов и запланированные задачи. Вы также увидели, как вебхуки и панель администратора могут интегрироваться с внешними сервисами и упрощать управление данными.
С этой основой у вас есть гибкая и масштабируемая серверная часть, которую вы можете расширять по мере необходимости для вашего следующего проекта на PHP. Продолжайте изучать продвинутые техники, пользовательские роли или сторонние API, чтобы сделать ваше приложение еще более мощным и динамичным.
- Усовершенствуйте ваше готовое к производству приложение на PHP добавив кэширование, балансировку нагрузки или продвинутую безопасность.
- Добавьте контроль доступа на основе ролей или уникальные потоки аутентификации, если это необходимо вашей базе пользователей.
- Консультируйтесь с официальной документацией Back4App чтобы узнать больше о настройке производительности, логах и аналитике.
- Попробуйте дополнительные учебные пособия и используйте изученные здесь техники для создания реальных решений, от электронной коммерции до социальных платформ.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)