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.
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:
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
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!