Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memudahkan sambungan pangkalan data PHP menggunakan ORM (Pemetaan Hubungan Objek)?

Bagaimana untuk memudahkan sambungan pangkalan data PHP menggunakan ORM (Pemetaan Hubungan Objek)?

王林
王林asal
2024-06-03 19:47:00546semak imbas

Gunakan ORM untuk memudahkan sambungan pangkalan data PHP dan memetakan jadual dan data dalam pangkalan data hubungan kepada objek dalam aplikasi, yang boleh memudahkan interaksi dengan pangkalan data. Faedah ORM termasuk operasi CRUD yang dipermudahkan, pemetaan automatik, hubungan objek dan kebolehselenggaraan yang dipertingkatkan. Contoh praktikal: Cipta dan kekalkan entiti dalam PHP menggunakan rangka kerja Doktrin, berinteraksi dengan pangkalan data dengan menambahkannya pada konteks kegigihan dan melakukan perubahan.

如何使用 ORM(对象关系映射)简化 PHP 数据库连接?

Ringkaskan sambungan pangkalan data PHP dengan ORM

Pemetaan hubungan objek (ORM) ialah corak yang memetakan jadual dan data dalam pangkalan data hubungan kepada objek dalam aplikasi. Menggunakan ORM boleh memudahkan interaksi dengan pangkalan data, dengan itu meningkatkan kecekapan pembangunan dan kebolehselenggaraan kod.

Apakah itu ORM?

ORM bertindak sebagai lapisan abstraksi antara objek dan pangkalan data hubungan. Ia secara automatik memetakan sifat objek ke lajur dalam jadual pangkalan data dan menyediakan kaedah yang mudah untuk membuat, membaca, mengemas kini dan memadam (CRUD) operasi.

Faedah

Faedah utama menggunakan ORM termasuk:

  • Operasi CRUD yang dipermudah: ORM menyediakan API mudah untuk mencipta, membaca, mengemas kini dan memadam data dengan mudah daripada pangkalan data.
  • Pemetaan automatik: ORM secara automatik memetakan sifat objek ke lajur dalam pangkalan data tanpa menulis pertanyaan SQL yang menyusahkan.
  • Perhubungan objek: ORM boleh mengurus perhubungan antara objek secara automatik, seperti perhubungan satu-ke-banyak atau banyak-ke-banyak.
  • Tingkatkan kebolehselenggaraan:Dengan menggunakan ORM, anda boleh memisahkan logik interaksi pangkalan data daripada logik perniagaan, meningkatkan kebolehselenggaraan dan kebolehbacaan kod.

Kes Praktikal

Menggunakan Doktrin, rangka kerja ORM yang popular dalam PHP, untuk menyediakan kes praktikal.

Pasang Doktrin

composer require doctrine/orm

Fail konfigurasi

config/orm.yml Fail konfigurasi adalah seperti berikut: config/orm.yml 中的配置文件如下:

doctrine:
    dbal:
        url: 'mysql://root:@localhost:3306/doctrine_db'
        driver: pdo_mysql
    orm:
        auto_generate_proxy_classes: true
        metadata_cache_driver: array
        query_cache_driver: array

实体定义

创建用于映射到数据库表的实体:

// src/Entity/Product.php
namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 */
class Product
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $name;

    /**
     * @ORM\Column(type="float")
     */
    private $price;

    // 省略其他代码...
}

使用 ORM

在控制器中使用Doctrine创建一个新产品:

// src/Controller/ProductController.php
namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use App\Entity\Product;
use Doctrine\ORM\EntityManagerInterface;

class ProductController extends AbstractController
{
    public function create(Request $request, EntityManagerInterface $entityManager)
    {
        $product = new Product();
        $product->setName('New Product');
        $product->setPrice(10.99);

        $entityManager->persist($product);
        $entityManager->flush();

        return $this->redirectToRoute('product_index');
    }
}

在上面的示例中,persist() 方法将新产品添加到与持久性上下文关联的管理对象列表中。flush()rrreee

🎜Entity matching database🎜Entity mapping to table🎜Entity mapping🎜 : 🎜rrreee🎜🎜 Cipta produk baharu menggunakan Doktrin dalam pengawal menggunakan ORM 🎜🎜🎜: 🎜rrreee🎜 Dalam contoh di atas, kaedah persist() menambah produk baharu kepada ketekunan sensitif konteks senarai objek terurus. Kaedah flush() melakukan semua perubahan pada konteks kegigihan kepada pangkalan data. 🎜

Atas ialah kandungan terperinci Bagaimana untuk memudahkan sambungan pangkalan data PHP menggunakan ORM (Pemetaan Hubungan Objek)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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