Cara PHP menggunakan rangka kerja ORM untuk menyambung ke pangkalan data
Rangka kerja ORM (Pemetaan Objek-Kaitan) ialah teknologi yang memetakan model objek dan model pangkalan data hubungan. Ia membenarkan pembangun menggunakan objek untuk mengendalikan pangkalan data, dengan itu mengelakkan masalah yang membosankan dan rawan ralat bagi pernyataan SQL tulisan tangan. Rangka kerja ORM digunakan secara meluas dalam PHP, seperti Laravel's Eloquent ORM, Symfony's Doctrine ORM, dsb.
Dalam artikel ini, kami akan memperkenalkan cara menggunakan Doctrine ORM untuk menyambung ke pangkalan data dan cara melaksanakan operasi CRUD pada pangkalan data. Artikel ini menganggap bahawa anda sudah biasa dengan sintaks PHP asas dan operasi pangkalan data. Jika anda tidak biasa dengan Doktrin ORM, anda boleh merujuk kepada dokumentasi rasminya untuk belajar.
Langkah 1: Pasang Doctrine ORM
Anda boleh memasang Doctrine ORM dalam Composer dan laksanakan arahan berikut:
composer require doctrine/orm
Langkah 2: Konfigurasikan sambungan pangkalan data
ORM Doktrin menyokong pelbagai pangkalan data, seperti MySQL, PostgreSQL, SQLite, dll. Di sini, kami mengambil penyambungan ke pangkalan data MySQL sebagai contoh untuk menggambarkan.
Buka fail konfigurasi config.php dan tambah kandungan berikut:
use DoctrineORMToolsSetup; use DoctrineORMEntityManager; require_once 'vendor/autoload.php'; $paths = array(__DIR__ . '/src'); $isDevMode = true; $dbParams = array( 'driver' => 'pdo_mysql', 'user' => 'your_database_user', 'password' => 'your_database_password', 'dbname' => 'your_database_name', ); $config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode); $entityManager = EntityManager::create($dbParams, $config);
Di sini, kami menggunakan kelas Persediaan dan EntityManager yang disediakan oleh Doctrine untuk mengkonfigurasi sambungan pangkalan data. Antaranya, parameter $paths menentukan direktori tempat kami menyimpan kelas entiti (Kelas Entiti), dan parameter $isDevMode menunjukkan sama ada untuk mendayakan mod pembangun.
Langkah 3: Tentukan kelas entiti
Kita perlu mentakrifkan kelas entiti untuk memetakan struktur jadual dalam pangkalan data. Contohnya, tentukan kelas Pengguna untuk memetakan jadual pengguna:
<?php namespace MyAppEntity; /** * @Entity @Table(name="users") **/ class User { /** * @Id @Column(type="integer") * @GeneratedValue **/ protected $id; /** * @Column(type="string") **/ protected $name; /** * @Column(type="string") **/ protected $email; // 省略 getter 和 setter 方法 }
Di sini, kami menggunakan anotasi yang disediakan oleh Doctrine untuk mentakrifkan kelas entiti. Anotasi @Entity menunjukkan bahawa ini ialah kelas entiti dan anotasi @Table menunjukkan bahawa ia dipetakan pada nama jadual dalam pangkalan data. Anotasi @Id menunjukkan bahawa ini adalah kunci utama, dan anotasi @Column menunjukkan bahawa ini ialah lajur dalam pangkalan data. Selain itu, kami juga boleh menggunakan anotasi lain untuk menentukan perhubungan, indeks, dsb.
Langkah 4: Laksanakan operasi CRUD
Kami boleh menggunakan EntityManager untuk melaksanakan operasi CRUD pada pangkalan data. Sebagai contoh, masukkan sekeping data:
<?php use MyAppEntityUser; $user = new User(); $user->setName('Alice'); $user->setEmail('alice@example.com'); $entityManager->persist($user); $entityManager->flush();
Di sini, kami mencipta objek Pengguna melalui pengendali baharu dan menetapkan nilai atributnya. Kemudian, kami menggunakan $entityManager->persist($user) untuk menambahkannya pada unit kotor EntityManager, dan akhirnya menggunakan $entityManager->flush() untuk menulisnya ke pangkalan data.
Selain itu, kita juga boleh menggunakan kaedah $entityManager->find(User::class, $id) untuk mencari data, gunakan kaedah $entityManager->remove($user) untuk memadam data , dan gunakan Kaedah $entityManager->createQuery() melaksanakan operasi pertanyaan kompleks dan sebagainya.
Kesimpulan
Artikel ini memperkenalkan kaedah asas menggunakan rangka kerja ORM Doktrin untuk menyambung ke pangkalan data MySQL dan melaksanakan operasi CRUD. Sudah tentu, ini hanyalah pengenalan, dan terdapat banyak kegunaan lanjutan yang boleh digunakan. Kami mengesyorkan agar anda mengkaji dokumentasi yang berkaitan secara mendalam dan berlatih dengan projek sebenar.
Atas ialah kandungan terperinci Cara menggunakan PHP untuk menyambung ke pangkalan data menggunakan rangka kerja ORM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!