Verwenden Sie ORM, um PHP-Datenbankverbindungen zu vereinfachen und Tabellen und Daten in relationalen Datenbanken Objekten in der Anwendung zuzuordnen, was die Interaktion mit der Datenbank erheblich vereinfachen kann. Zu den Vorteilen von ORM gehören vereinfachte CRUD-Operationen, automatische Zuordnung, Objektbeziehungen und verbesserte Wartbarkeit. Praktisches Beispiel: Entitäten in PHP mithilfe des Doctrine-Frameworks erstellen und beibehalten, mit der Datenbank interagieren, indem sie sie einem Persistenzkontext hinzufügen und Änderungen festschreiben.
Vereinfachen Sie PHP-Datenbankverbindungen mithilfe von ORM.
Objektrelationale Zuordnung (ORM) ist ein Muster, das Tabellen und Daten in einer relationalen Datenbank Objekten in einer Anwendung zuordnet. Die Verwendung eines ORM kann die Interaktion mit der Datenbank erheblich vereinfachen und dadurch die Entwicklungseffizienz und die Wartbarkeit des Codes verbessern.
Was ist ORM?
ORM fungiert als Abstraktionsebene zwischen Objekt- und relationalen Datenbanken. Es ordnet Objekteigenschaften automatisch Spalten in Datenbanktabellen zu und bietet praktische Methoden zum Erstellen, Lesen, Aktualisieren und Löschen (CRUD) von Operationen.
Vorteile
Zu den Hauptvorteilen der Verwendung von ORM gehören:
Praktischer Fall
Verwendung des beliebten ORM-Frameworks Doctrine in PHP, um einen praktischen Fall bereitzustellen.
Doctrine installieren
composer require doctrine/orm
Konfigurationsdatei
config/orm.yml
Die Konfigurationsdatei lautet wie folgt: 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()
das neue Produkt kontextsensitiv zur Persistenz hinzu Liste der verwalteten Objekte. Die Methode flush()
schreibt alle Änderungen am Persistenzkontext in die Datenbank. 🎜Das obige ist der detaillierte Inhalt vonWie vereinfacht man PHP-Datenbankverbindungen mithilfe von ORM (Object Relational Mapping)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!