Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk menggunakan Doktrin dengan CakePHP?

Bagaimana untuk menggunakan Doktrin dengan CakePHP?

王林
Lepaskan: 2023-06-03 16:44:01
asal
1428 orang telah melayarinya

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.

  1. Pasang Doktrin

Mula-mula, kita perlu memasang Doktrin. Di terminal, kita boleh memasangnya melalui Komposer:

composer require doctrine/orm
Salin selepas log masuk

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);
Salin selepas log masuk

Fail konfigurasi ini akan memberitahu Doktrin cara menyambung ke pangkalan data dan tempat kelas entiti kami disimpan Lokasi.

  1. Mencipta kelas entiti

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
}
Salin selepas log masuk

Dalam kelas entiti ini, kami menggunakan anotasi untuk menentukan nama, nama jadual, nama lajur, jenis dan panjang entiti.

  1. Jana struktur jadual pangkalan data

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
Salin selepas log masuk

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.

  1. Menggunakan Kelas Entiti

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();
Salin selepas log masuk

Dalam kod ini, kami menggunakan kelas entiti dan EntityManager untuk melaksanakan operasi pangkalan data.

  1. Kesimpulan

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan