使用 ORM 簡化 PHP 資料庫連接,將關聯式資料庫中的資料表和資料對應到應用程式中的對象,可大幅簡化與資料庫的互動。 ORM 的好處包括簡化的 CRUD 操作、自動映射、物件關係和提高可維護性。實戰案例:使用 Doctrine 框架在 PHP 中建立和持久化實體,透過將其新增至持久性上下文並提交變更來與資料庫進行互動。
使用ORM 簡化PHP 資料庫連接
物件關聯映射(ORM) 是一種模式,它將關聯式資料庫中的表和資料映射到應用程式中的物件。使用 ORM 可以大幅簡化與資料庫的交互,從而提高開發效率和程式碼可維護性。
什麼是 ORM?
ORM 充當物件和關聯式資料庫之間的一層抽象。它會自動將物件屬性對應到資料庫表中的列,並提供用於建立、讀取、更新和刪除 (CRUD) 操作的便利方法。
好處
使用ORM 的主要好處包括:
實戰案例
使用 PHP 中流行的 ORM 框架 Doctrine 來提供一個實戰案例。
安裝Doctrine
composer require doctrine/orm
設定檔
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() 方法將持久性上下文的所有變更提交到資料庫。
以上是如何使用 ORM(物件關聯映射)簡化 PHP 資料庫連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!