Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan Doktrin dengan CakePHP?
CakePHP ialah rangka kerja PHP popular yang menyediakan banyak ciri berkuasa untuk membangunkan aplikasi web dengan pantas. Pada masa yang sama, Doktrin ialah rangka kerja ORM yang berkuasa yang membolehkan kami mengurus pangkalan data dengan lebih mudah. Dalam artikel ini, kami akan menumpukan pada penggunaan Doktrin dengan CakePHP.
Mula-mula, kita perlu memasang Doktrin. Di terminal, kita boleh memasangnya melalui Komposer:
composer require doctrine/orm
Selepas pemasangan selesai, kita perlu mengkonfigurasi Doktrin. Dalam fail app/config/bootstrap.php, kita perlu memuatkan autoloader Komposer dan mendaftarkan perkhidmatan Doktrin:
// 加载Composer自动加载器 require ROOT . '/vendor/autoload.php'; // 注册Doctrine服务 use DoctrineORMToolsSetup; use DoctrineORMEntityManager; $paths = array(ROOT . '/src/Entity'); $config = Setup::createAnnotationMetadataConfiguration($paths, true); $conn = array( 'driver' => 'pdo_mysql', 'user' => 'username', 'password' => 'password', 'dbname' => 'database_name', ); $entityManager = EntityManager::create($conn, $config);
Fail konfigurasi ini akan memberitahu Doktrin cara menyambung ke pangkalan data dan tempat kelas entiti kami disimpan Lokasi.
Seterusnya, kita perlu mencipta kelas entiti untuk mewakili jadual dan lajur dalam pangkalan data. Kami boleh menggunakan anotasi Doktrin untuk mentakrifkan kelas entiti ini:
<?php namespace AppEntity; use DoctrineORMMapping as ORM; /** * @ORMEntity * @ORMTable(name="users") */ class User { /** * @ORMId * @ORMColumn(type="integer") * @ORMGeneratedValue */ private $id; /** * @ORMColumn(type="string", length=50) */ private $name; /** * @ORMColumn(type="string", length=100, unique=true) */ private $email; /** * @ORMColumn(type="datetime") */ private $created_at; /** * @ORMColumn(type="datetime") */ private $updated_at; // Getters and setters }
Dalam kelas entiti ini, kami menggunakan anotasi untuk menentukan nama, nama jadual, nama lajur, jenis dan panjang entiti.
Kami telah menentukan kelas entiti, dan kini kami perlu menjana struktur jadual pangkalan data berdasarkan kelas entiti. Dalam terminal, kita boleh menggunakan arahan Doktrin untuk mencapai:
vendor/bin/doctrine orm:schema-tool:create
Selepas pelaksanaan selesai, jadual bernama "pengguna" akan dibuat dalam pangkalan data, yang secara automatik akan mengandungi lajur "id" dan " nama" ”, “e-mel”, “created_at” dan “updated_at” dsb.
Kini, kami bersedia untuk menggunakan kelas entiti untuk melaksanakan operasi pangkalan data. Dalam program ini, kami boleh mencipta, mengemas kini dan membuat pertanyaan rekod dengan membuat instantiat kelas entiti:
<?php $user = new User(); $user->setName('John Doe'); $user->setEmail('john@example.com'); $entityManager->persist($user); $entityManager->flush(); $user = $entityManager->getRepository(User::class)->find($id); $user->setName('Jane Doe'); $entityManager->persist($user); $entityManager->flush();
Dalam kod ini, kami menggunakan kelas entiti dan EntityManager untuk melaksanakan operasi pangkalan data.
Melalui langkah di atas, kami telah berjaya menggunakan Doktrin dalam CakePHP. Semasa penggunaan, kita perlu ingat bahawa kelas entiti mewakili struktur jadual pangkalan data, dan EntityManager mewakili sambungan pangkalan data. Gunakannya untuk melaksanakan operasi pangkalan data dengan cepat. Jika anda ingin mengetahui lebih lanjut tentang penggunaan Doktrin, adalah disyorkan untuk merujuk dokumentasi rasmi.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan Doktrin dengan CakePHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!