Quickstarters
CRUD Samples
How to Build a Basic CRUD App with PHP?
31 分
はじめに このガイドでは、create(作成)、read(読み取り)、update(更新)、delete(削除)(crud)操作を実行する完全なphpアプリケーションを開発する方法を学びます。 back4appプロジェクトでparse php sdkを活用することで、データをシームレスに管理し、phpアプリに堅牢なバックエンド機能を統合できるようになります。 このチュートリアルでは、プロジェクトの初期化やデータモデルの設計から、crud操作を処理するための安全なphpスクリプトの構築まで、すべてをカバーします。 この包括的なウォークスルーにより、安全なユーザー認証、効率的なデータ管理、直感的な管理インターフェースを備えた本番環境向けのアプリケーションを作成できます。 主なポイント phpとバックエンドサービスを使用してcrud操作を構築する方法を理解します。 スケーラブルなデータモデルを設計する実践的な経験を得ます。 直感的な管理パネルを利用して、バックエンドを簡単に管理する方法を学びます。 phpアプリケーションのためのコンテナ化を含むデプロイメント戦略に慣れます。 前提条件 始める前に、以下のものを用意してください 新しいプロジェクトが設定されたback4appアカウント。 支援が必要な場合は、 back4appの始め方 https //www back4app com/docs/get started/new parse app を訪れてください。 php開発環境。 php 7 4以降がインストールされており、適切なwebサーバーの設定がされていることを確認してください。 php、html、およびrest apiの基本的な知識。 詳細については、 phpマニュアル https //www php net/manual/en/ を参照してください。 ステップ1 – プロジェクトのセットアップ back4appプロジェクトの開始 back4appアカウントにログインします。 ダッシュボードの「新しいアプリ」ボタンをクリックします。 プロジェクトに名前を付けます: basic crud app php と入力し、指示に従って作成します。 新しいプロジェクトを作成 作成が完了すると、新しいプロジェクトがダッシュボードに表示され、php crudアプリケーションの基盤となります。 ステップ2 – データモデルの作成 スキーマの設計 このアプリケーションでは、バックエンドでいくつかのクラスを直接定義します。以下の例は、back4appダッシュボードを使用して設定すべきクラスとフィールドを示しています。 1\ アイテムクラス このクラスは、すべてのアイテムの詳細を保持します。 フィールド タイプ 説明 id オブジェクトid 自動生成された一意の識別子。 タイトル 文字列 アイテムの名前。 説明 文字列 アイテムの簡単な概要。 作成日時 日付 アイテムが作成された時間。 更新日時 日付 アイテムが最後に変更された時間。 2\ ユーザークラス このクラスはユーザーの詳細と認証を管理します。 フィールド タイプ 説明 id オブジェクトid 自動生成された一意の識別子。 ユーザー名 文字列 ユーザーのためのユニークな識別子。 メール 文字列 ユーザーのメールアドレス。 パスワードハッシュ 文字列 安全に保存されたハッシュ化されたパスワード。 作成日時 日付 アカウントが作成された日時。 更新日時 日付 最新のアカウント更新のタイムスタンプ。 back4appダッシュボードで新しいクラスを追加し、適切なフィールドを指定することで、これらのクラスを手動で作成できます。 新しいクラスを作成 希望するデータタイプを選択し、フィールド名を設定し、それが必須かデフォルト値があるかを決定します。 列を作成 ステップ 3 – 管理パネルと php における crud 操作 管理インターフェースの概要 back4app 管理アプリは、バックエンドデータを管理するための使いやすいドラッグアンドドロップインターフェースを提供します。このツールを使用すると、追加のコードなしで crud 操作を簡単に実行できます。 管理アプリの有効化 「その他」メニューに移動 あなたの back4app ダッシュボードで。 「管理アプリ」を選択 そして次にクリックします 「管理アプリを有効にする。」 管理アカウントを設定 最初の管理ユーザーを作成することで、デフォルトの役割も設定されます。 管理者アプリを有効にする アクティベーション後、管理者アプリにログインしてクラスを管理し、crud操作を実行します。 管理者アプリダッシュボード このパネル内でできることは 新しいレコードを追加 アイテムのようなクラスに新しいエントリを挿入します。 レコードを表示および修正 レコードをクリックしてその詳細を確認したり、フィールドを更新したりします。 レコードを削除 もはや必要のないレコードを削除します。 この直感的なインターフェースは、バックエンドデータの管理作業を大幅に簡素化します。 ステップ 4 – php とバックエンドの接続 バックエンドの設定が完了したので、parse php sdk を使用して php アプリケーションをリンクする時が来ました。 オプション a parse php sdk を使用する parse php sdk をインストールする composer を使用して sdk をプロジェクトに追加します composer require parse/php sdk php アプリケーションで parse を設定する 設定ファイルを作成します (例 parseconfig php ) \<?php require 'vendor/autoload php'; use parse\parseclient; // back4app の資格情報で parse を初期化 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の使用 parse sdkが選択肢でない場合、restを介してcrud操作を実行できます。たとえば、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は、認証のために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のwebデプロイメントサービスは、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をwebデプロイメントと統合する webデプロイメントにアクセスする back4appダッシュボードにログインし、プロジェクトに移動して、 webデプロイメント をクリックする。 githubアカウントを接続する githubリポジトリをリンクするための指示に従う。 リポジトリとブランチを選択する basic crud app php と main ブランチを選択し、phpコードが存在する。 7 4 デプロイメント設定を構成する デプロイメント設定を次のように設定する ビルドコマンド 必要に応じて、アプリケーションを準備するためのコマンドを指定します。 出力ディレクトリ ドキュメントルートとして機能するフォルダー(例 public/ ) を指します。 環境変数 必要なapiキーや設定を追加します。 7 5 phpアプリケーションのdocker化(オプション) コンテナ化を好む場合は、 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 – 最終的な考えと今後の方向性 おめでとうございます! back4appを使用してphpベースのcrudアプリケーションを成功裏に構築しました。このチュートリアルを通じて、あなたは: 「 basic crud app php 」という名前のプロジェクトを設定します。 アイテムとユーザーのために明確なクラスを設計しました。 データ管理をシームレスに行うために管理アプリを利用しました。 parse php sdkを使用して、phpスクリプトをバックエンドに接続しました。 aclでデータを保護し、ユーザー認証を実装しました。 次のステップ ユーザーインターフェースを強化する 詳細なアイテムビュー、検索機能、リアルタイム更新などの機能を追加してphpアプリケーションを拡張します。 高度な機能を統合する クラウド機能、サードパーティapi統合、または役割ベースのアクセス制御を追加することを検討してください。 知識を深める 「 back4appのドキュメント https //www back4app com/docs 」や他のリソースを探求して、開発スキルをさらに向上させてください。 このチュートリアルに従うことで、データを効率的に管理する堅牢なphpアプリケーションを開発する準備が整いました。コーディングを楽しんでください!