Quickstarters
CRUD Samples
Как создать базовое CRUD-приложение на PHP?
33 мин
введение в этом руководстве вы узнаете, как разработать полное php приложение, которое выполняет операции создания, чтения, обновления и удаления (crud) используя parse php sdk с вашим проектом back4app, вы сможете без проблем управлять данными и интегрировать надежные функции бэкенда в ваше php приложение этот учебник охватывает все, от инициализации вашего проекта и проектирования вашей модели данных до создания безопасных php скриптов для обработки операций crud этот подробный гид гарантирует, что вы создадите готовое к производству приложение с безопасной аутентификацией пользователей, эффективным управлением данными и интуитивно понятным интерфейсом администратора основные выводы понять, как строить операции crud с использованием php вместе с бэкенд сервисом получить практический опыт в проектировании масштабируемой модели данных научиться использовать интуитивно понятную панель администратора для легкого управления вашим бэкендом познакомиться со стратегиями развертывания, включая контейнеризацию для вашего php приложения предварительные требования перед началом убедитесь, что у вас есть следующее аккаунт back4app с настроенным новым проектом посетите начало работы с back4app https //www back4app com/docs/get started/new parse app если вам нужна помощь среда разработки php убедитесь, что у вас установлена php 7 4 или более поздняя версия вместе с подходящей настройкой веб сервера базовые знания php, html и rest api обратитесь к руководству php https //www php net/manual/en/ для получения дополнительной информации шаг 1 – настройка проекта начало вашего проекта back4app войдите в свою учетную запись back4app нажмите кнопку “новое приложение” на вашей панели управления назовите ваш проект basic crud app php и следуйте инструкциям для его создания создать новый проект после создания ваш новый проект будет виден на вашей панели управления, служа основой для вашего php crud приложения шаг 2 – создание вашей модели данных проектирование вашей схемы для этого приложения вы определите несколько классов непосредственно в вашем бэкенде примеры ниже иллюстрируют классы и поля, которые вы должны настроить с помощью панели управления back4app 1\ класс элементов этот класс содержит детали для каждого элемента поле тип объяснение ид идентификатор объекта автоматически сгенерированный уникальный идентификатор название строка название элемента описание строка краткий обзор предмета создано в дата время, когда элемент был создан обновлено дата время последнего изменения элемента 2\ класс пользователей этот класс управляет данными пользователя и аутентификацией поле тип объяснение ид идентификатор объекта автоматически сгенерированный уникальный идентификатор имя пользователя строка уникальный идентификатор для пользователя электронная почта строка электронный адрес пользователя хэш пароля строка надежно сохраненный хэшированный пароль создано в дата время создания учетной записи обновлено дата метка времени для последнего обновления аккаунта вы можете вручную создать эти классы в вашей панели управления back4app, добавив новые классы и указав соответствующие поля создать новый класс просто выберите желаемый тип данных, задайте имя поля и определите, является ли оно обязательным или имеет значение по умолчанию создать колонку шаг 3 – административная панель и операции crud на php обзор административного интерфейса приложение back4app admin предоставляет простой в использовании интерфейс с функцией перетаскивания для управления вашими данными на сервере этот инструмент позволяет вам выполнять операции crud без лишнего кода активация административного приложения перейдите в меню “дополнительно” на вашей панели управления back4app выберите “административное приложение” и затем нажмите “включить административное приложение ” настройте свою административную учетную запись создав своего первого административного пользователя, что также настраивает роли по умолчанию включить приложение администратора после активации войдите в приложение администратора, чтобы управлять вашими классами и выполнять операции crud панель управления приложением администратора в этой панели вы можете добавить новые записи вставьте новые записи в классы, такие как элементы просмотреть и изменить записи нажмите на запись, чтобы увидеть ее детали или обновить ее поля удалить записи удалите записи, которые больше не нужны этот интуитивно понятный интерфейс значительно упрощает задачу управления вашими данными на сервере шаг 4 – подключение php к вашему бэкенду теперь, когда ваш бэкенд настроен, пришло время связать ваше php приложение с помощью parse php sdk вариант a использование parse php sdk установите parse php sdk используйте composer, чтобы добавить sdk в ваш проект composer require parse/php sdk настройте parse в вашем php приложении создайте файл конфигурации (например, parseconfig php ) \<?php require 'vendor/autoload php'; use parse\parseclient; // инициализируйте parse с вашими учетными данными back4app parseclient initialize('your application id', 'your rest api key', 'your master key'); parseclient setserverurl('https //parseapi back4app com', '/'); ?> 3\ retrieve items using php for example, create a script named `itemslist php` ```php \<?php require 'parseconfig php'; use parse\parsequery; $query = new parsequery("items"); try { $results = $query >find(); foreach ($results as $item) { echo "\<p>\<strong>" $item >get("title") "\</strong> " $item >get("description") "\</p>"; } } catch (exception $ex) { echo "error " $ex >getmessage(); } ?> этот скрипт извлекает все записи из класса items и отображает их вариант b использование rest или graphql api если sdk parse не является вариантом, вы можете выполнять операции crud через rest например, чтобы получить элементы с помощью php и curl \<?php $url = 'https //parseapi back4app com/classes/items'; $headers = \[ "x parse application id your application id", "x parse rest api key your rest api key" ]; $ch = curl init($url); curl setopt($ch, curlopt httpheader, $headers); curl setopt($ch, curlopt returntransfer, true); $response = curl exec($ch); curl close($ch); $data = json decode($response, true); foreach ($data\['results'] as $item) { echo "\<p>\<strong>" $item\['title'] "\</strong> " $item\['description'] "\</p>"; } ?> интегрируйте эти фрагменты кода в ваше php приложение по мере необходимости шаг 5 – защита вашего бэкенда реализация списков контроля доступа (acl) улучшите безопасность вашего приложения, установив acl на объекты следующий пример демонстрирует, как создать приватный элемент \<?php require 'parseconfig php'; use parse\parseobject; use parse\parseacl; function createprivateitem($data, $owner) { $item = new parseobject("items"); $item >set("title", $data\['title']); $item >set("description", $data\['description']); $acl = new parseacl($owner); $acl >setpublicreadaccess(false); $acl >setpublicwriteaccess(false); $item >setacl($acl); try { $item >save(); echo "private item created successfully "; } catch (exception $e) { echo "error " $e >getmessage(); } } // example usage // createprivateitem(\['title' => 'sample item', 'description' => 'a description'], $currentuser); ?> настройка разрешений на уровне класса (clp) в панели управления back4app настройте clp для каждого класса так, чтобы только авторизованные пользователи имели доступ к конфиденциальным данным шаг 6 – аутентификация пользователя настройка регистрации и входа пользователя back4app использует встроенный класс user от parse для аутентификации пример ниже показывает, как обрабатывать регистрацию пользователя на php \<?php require 'parseconfig php'; use parse\parseuser; if ($ server\['request method'] === 'post') { $user = new parseuser(); $user >set("username", $ post\['username']); $user >set("password", $ post\['password']); $user >set("email", $ post\['email']); try { $user >signup(); echo "registration successful!"; } catch (exception $ex) { echo "error " $ex >getmessage(); } } ?> \<! html form for signup > \<form method="post" action="signup php"> \<input type="text" name="username" placeholder="username" required> \<input type="password" name="password" placeholder="password" required> \<input type="email" name="email" placeholder="email" required> \<button type="submit">sign up\</button> \</form> вы можете создать аналогичные скрипты для входа и управления сессиями дополнительные функции, такие как социальная аутентификация и проверка электронной почты, также могут быть настроены через панель управления back4app шаг 7 – развертывание вашего php приложения служба веб развертывания back4app также поддерживает php приложения следуйте этим шагам, чтобы развернуть ваш проект 7 1 организуйте ваше приложение убедитесь, что структура вашего проектного каталога выглядит следующим образом basic crud app php/ ├── vendor/ ├── public/ \| └── index php ├── src/ \| ├── parseconfig php \| ├── itemslist php \| └── auth php ├── composer json └── readme md 7 2 загрузите свой код на github инициализируйте репозиторий git в папке вашего проекта git init подготовьте ваши файлы git add зафиксируйте ваши изменения git commit m "первоначальный коммит для php crud приложения" создайте репозиторий на github например, назовите его basic crud app php отправьте ваш код на github git remote add origin https //github com/your username/basic crud app php git git push u origin main 7 3 интеграция github с веб развертыванием доступ к веб развертыванию войдите в свою панель управления back4app, перейдите к вашему проекту и нажмите на веб развертывание подключите свою учетную запись github следуйте инструкциям, чтобы связать ваш репозиторий github выберите ваш репозиторий и ветку выберите basic crud app php и ветку main , где находится ваш php код 7 4 настройка параметров развертывания настройте конфигурацию развертывания с команда сборки если необходимо, укажите команду для подготовки вашего приложения каталог вывода укажите папку (например, public/ ) которая будет корневой для вашего документа переменные окружения добавьте любые необходимые ключи api или настройки конфигурации 7 5 докеризация вашего php приложения (по желанию) если вы предпочитаете контейнеризацию, добавьте dockerfile в ваш репозиторий \# use an official php image with apache from php 8 1 apache \# copy your application files to the container copy /var/www/html/ \# expose port 80 for web traffic expose 80 cmd \["apache2 foreground"] настройте back4app для развертывания вашего контейнеризованного приложения, если это необходимо 7 6 разверните ваше приложение нажмите кнопку развертывания запустите развертывание, как только все настройки будут завершены мониторинг процесса развертывания back4app извлечет ваш репозиторий, выполнит любые команды сборки и развернет ваше php приложение получите доступ к url вашего приложения после развертывания будет предоставлен url, по которому ваше приложение доступно 7 7 проверьте ваше развертывание посетите предоставленный url откройте url в вашем браузере, чтобы подтвердить, что ваше php приложение работает проверьте функциональность crud убедитесь, что все операции создания, чтения, обновления и удаления выполняются как ожидалось устраните неполадки, если это необходимо используйте инструменты разработчика браузера или проверьте журналы back4app на наличие проблем шаг 8 – заключительные мысли и будущие направления поздравляем! вы успешно создали crud приложение на основе php с использованием back4app на протяжении этого учебника вы создайте проект с именем basic crud app php разработаны четкие классы для элементов и пользователей использовал приложение администратора для бесшовного управления данными подключил ваши php скрипты к бэкенду с помощью parse php sdk обеспечил безопасность ваших данных с помощью acl и реализовал аутентификацию пользователей следующие шаги улучшите пользовательский интерфейс расширьте ваше php приложение такими функциями, как детальные представления элементов, функциональность поиска или обновления в реальном времени интегрируйте расширенные функции рассмотрите возможность добавления облачных функций, интеграции сторонних api или контроля доступа на основе ролей углубите свои знания изучите документацию back4app https //www back4app com/docs и другие ресурсы, чтобы еще больше улучшить свои навыки разработки следуя этому руководству, вы теперь готовы разрабатывать надежные php приложения, которые эффективно управляют данными удачного кодирования!