データベース操作を効率的に管理することは、PHP アプリケーション開発にとって非常に重要です。 CRUD (作成、読み取り、更新、削除) は、最も一般的なデータベース操作の 1 つです。オブジェクト指向プログラミング (OOP) の原則を採用すると、コードがよりシンプルになり、再利用および拡張が容易になります。 PHP で MySQL を使用すると、アプリケーションがデータ ストレージを効率的に処理できるようになります。
このブログ投稿では、OOP と MySQL を使用して PHP CRUD アプリケーション を構築する方法を説明します。ベスト プラクティスとデザイン パターンに従ってコードを整理し、初心者向けでありながら大規模なプロジェクトでも使用できる十分強力なコードになるようにします。
このガイドを読むと、PHP で OOP 原則を使用してデータベースを操作するための強固な基盤が得られます。
オブジェクト指向プログラミング (OOP) は、「オブジェクト」を使用してコードを編成するプログラミング パラダイムです。 PHP では、OOP を使用して現実世界のエンティティを表すクラスを作成できるため、コードがよりモジュール化され、再利用および管理が容易になります。
データベースを操作するときに OOP 原則を適用することは、次のことを意味します:
コーディングを始める前に、保守しやすいフォルダー構造を設定しましょう。プロジェクトは次のように編成する必要があります:
<code>php-crud/ ├── config/ │ └── Database.php ├── controllers/ │ └── UserController.php ├── models/ │ └── User.php ├── views/ │ └── user_list.php ├── public/ │ └── index.php └── .gitignore</code>
まず、MySQL でデータベースとユーザー テーブルを作成しましょう。次の SQL クエリを実行してデータベースをセットアップできます:
<code class="language-sql">CREATE DATABASE php_crud; USE php_crud; CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );</code>
このテーブルには、名前、電子メール、作成日などの基本的なユーザー情報が保存されます。
基本的なフォルダー構造を設定しました。各フォルダーの機能の内訳は次のとおりです:
まず、config/Database.php にデータベース接続クラスを作成します。
<code>php-crud/ ├── config/ │ └── Database.php ├── controllers/ │ └── UserController.php ├── models/ │ └── User.php ├── views/ │ └── user_list.php ├── public/ │ └── index.php └── .gitignore</code>
このクラスは MySQL への PDO 接続を作成し、プロジェクトで再利用できます。
ユーザーデータを処理するためのモデルを作成しましょう。このクラスは、users テーブルと対話し、CRUD 操作を実行します。
<code class="language-sql">CREATE DATABASE php_crud; USE php_crud; CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );</code>
<code class="language-php"><?php namespace Config; use PDO; class Database { private $host = '127.0.0.1'; private $dbName = 'php_crud'; private $username = 'root'; private $password = ''; private $connection; public function connect() { try { $this->connection = new PDO( "mysql:host={$this->host};dbname={$this->dbName}", $this->username, $this->password ); $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $this->connection; } catch (PDOException $e) { die("Database connection failed: " . $e->getMessage()); } } }</code>
<code class="language-php"><?php namespace Models; use Config\Database; class User { private $conn; public function __construct() { $database = new Database(); $this->conn = $database->connect(); } public function create($name, $email) { $sql = "INSERT INTO users (name, email) VALUES (:name, :email)"; $stmt = $this->conn->prepare($sql); $stmt->bindParam(':name', $name); $stmt->bindParam(':email', $email); return $stmt->execute(); } public function read() { $sql = "SELECT * FROM users"; $stmt = $this->conn->prepare($sql); $stmt->execute(); return $stmt->fetchAll(\PDO::FETCH_ASSOC); } public function update($id, $name, $email) { $sql = "UPDATE users SET name = :name, email = :email WHERE id = :id"; $stmt = $this->conn->prepare($sql); $stmt->bindParam(':name', $name); $stmt->bindParam(':email', $email); $stmt->bindParam(':id', $id); return $stmt->execute(); } public function delete($id) { $sql = "DELETE FROM users WHERE id = :id"; $stmt = $this->conn->prepare($sql); $stmt->bindParam(':id', $id); return $stmt->execute(); } }</code>
<code class="language-php"><?php namespace Controllers; use Models\User; class UserController { public function createUser($name, $email) { $user = new User(); return $user->create($name, $email); } public function getUsers() { $user = new User(); return $user->read(); } public function updateUser($id, $name, $email) { $user = new User(); return $user->update($id, $name, $email); } public function deleteUser($id) { $user = new User(); return $user->delete($id); } }</code>
OOP の原則に従い、PHP のベスト プラクティスを適用することで、シンプルでスケーラブルな CRUD アプリケーションを構築しました。このアプローチにより、新しい機能でプロジェクトを簡単に拡張したり、データベースの対話を改善したりできます。
このガイドでは以下について説明します:
この構造により、PHP アプリケーションがよりクリーンになり、よりモジュール化され、拡張が容易になります。このアプローチを使用して、OOP と MySQL を使用して大規模で複雑なアプリケーションを構築できるようになりました。
コーディングを楽しんでください! ?
以上がOOP と MySQL を使用した PHP CRUD アプリケーションの構築: ベスト プラクティス ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。