Heim Backend-Entwicklung PHP-Tutorial Grundlagen der objektrelationalen Zuordnung (ORM): Doctrine ORM verstehen

Grundlagen der objektrelationalen Zuordnung (ORM): Doctrine ORM verstehen

Jun 19, 2023 pm 03:43 PM
orm doctrine 关系映射

Grundlagen der objektrelationalen Zuordnung (ORM): Doctrine ORM verstehen

Wenn wir Anwendungen entwickeln, müssen wir mit der Datenbank arbeiten, um Daten zu speichern und abzurufen. Es ist jedoch unpraktisch, den ursprünglichen Datenbankabfragecode direkt zu verwenden. Wir müssen eine Zuordnungsbeziehung zwischen Objekten und Daten herstellen. Dies ist die Rolle von ORM. ORM ordnet Objekte und Datenbanktabellen automatisch zu und konvertiert sie, was eine einfache Datenmanipulation ermöglicht und die Wartung unseres Codes erleichtert.

Doctrine ORM ist eines der beliebtesten ORM-Frameworks in PHP. Es verwendet eine einfache, aber effektive Methode zum Zuordnen von PHP-Objekten und Datenbanktabellen und stellt eine benutzerfreundliche API für CRUD-Operationen bereit.

In diesem Artikel werden einige Grundkenntnisse von Doctrine ORM vorgestellt, einschließlich Konfiguration, Entität, Zuordnung, Abfrage usw.

Konfiguration

Bevor wir beginnen, müssen wir Doctrine ORM installieren. Es kann über Composer mit dem folgenden Befehl installiert werden:

composer require doctrine/orm
Nach dem Login kopieren

Als nächstes müssen wir in unserer PHP-Datei Doctrine initialisieren. Dies kann durch den folgenden Code erfolgen:

use DoctrineORMToolsSetup;
use DoctrineORMEntityManager;

require_once "vendor/autoload.php";

$paths = array("path/to/entity-files");
$isDevMode = false;

// the connection configuration
$dbParams = array(
    'driver'   => 'pdo_mysql',
    'user'     => 'your_database_user',
    'password' => 'your_database_password',
    'dbname'   => 'your_database_name',
);

$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$entityManager = EntityManager::create($dbParams, $config);
Nach dem Login kopieren

Im obigen Code geben wir zunächst den Pfad zur Entitätsdatei an. Anschließend haben wir die Datenbankverbindungsparameter wie Treiber, Benutzername, Passwort und Datenbankname angegeben. Schließlich verwenden wir die Funktion Setup::createAnnotationMetadataConfiguration(), um die Metadaten zu konfigurieren, und verwenden dann die Funktion EntityManager::create(), um den Entity-Manager zu erstellen.

Entität

Tatsächlich sind Modell und Entität dasselbe. Wir müssen eine Entitätsklasse erstellen, um die Datenbanktabelle abzubilden. Diese Klasse muss die DoctrineORMMappingClassMetadata-Klasse erben und die Annotationen DoctrineORMMappingEntity und DoctrineORMMappingTable verwenden.

use DoctrineORMMapping as ORM;

/**
 * @ORMEntity
 * @ORMTable(name="users")
 */
class User
{
    /**
     * @ORMId
     * @ORMGeneratedValue
     * @ORMColumn(type="integer")
     */
    private $id;

    /**
     * @ORMColumn(type="string")
     */
    private $name;

    /**
     * @ORMColumn(type="string", length=100, unique=true)
     */
    private $email;

    // ... getters and setters
}
Nach dem Login kopieren

Im obigen Code haben wir eine User-Entitätsklasse definiert, die die Datenbanktabelle mit dem Namen „users“ zuordnet. Es hat drei Attribute: $id, $name und $email. Annotationen teilen Doctrine ORM mit, wie diese Eigenschaften zuzuordnen sind. Beispielsweise ist die Eigenschaft $id der Primärschlüssel und wird automatisch inkrementiert, die Eigenschaft $name wird einer Datenbankspalte vom Typ varchar zugeordnet, die Eigenschaft $email wird dem Typ varchar zugeordnet und muss innerhalb der Datenbanktabelle eindeutig sein.

Zuordnung

Nachdem wir die Entität definiert haben, müssen wir Doctrine ORM mitteilen, wie die Entität der Datenbanktabelle zugeordnet werden soll. Wir können XML, Kommentare oder YAML verwenden, um Zuordnungsbeziehungen zu definieren.

Hier verwenden wir Annotationen, um die Zuordnungsbeziehung zu definieren. Im folgenden Code definieren wir beispielsweise eine Zuordnungsbeziehung, um die Benutzerentität der Datenbanktabelle zuzuordnen: users

/**
 * @ORMEntity
 * @ORMTable(name="users")
 */
class User
{
    // properties ...

    // many-to-one association
    /**
     * @ORMManyToOne(targetEntity="Department")
     * @ORMJoinColumn(name="department_id", referencedColumnName="id")
     */
    private $department;
}
Nach dem Login kopieren

Im obigen Code definieren wir eine Viele-zu-Eins-Beziehung (viele-zu-eins). Alle Mapping-Beziehungsdefinitionen müssen mit Anmerkungen gekennzeichnet werden.

Query

Doctrine ORM bietet eine Reihe benutzerfreundlicher Abfrage-APIs, mit denen wir CRUD-Operationen problemlos durchführen können. Der folgende Code zeigt beispielsweise, wie eine Entität mithilfe von Doctrine abgefragt wird:

$userRepository = $entityManager->getRepository('User');
$users = $userRepository->findAll();

foreach ($users as $user) {
    echo sprintf("-%s
", $user->getName());
}
Nach dem Login kopieren
Im obigen Code verwenden wir die Variable $entityManager, um eine Benutzer-Repository-Instanz abzurufen. Anschließend rufen wir alle Benutzerinstanzen mit der Methode findAll() ab und geben den Benutzernamen jeder Instanz aus.

Zusammenfassung

Dieser Artikel stellt die Grundlagen von Doctrine ORM vor, einschließlich Konfiguration, Entitäten, Zuordnung und Abfragen. ORM ist ein sehr leistungsfähiges Tool, das die Codierung datenbankbezogener Funktionen erheblich vereinfachen kann. Ich hoffe, dass dieser Artikel Ihnen hilft, ORM zu verstehen, und ich hoffe, dass Sie mehr über Doctrine ORM erfahren und mit der Verwendung beginnen können.

Das obige ist der detaillierte Inhalt vonGrundlagen der objektrelationalen Zuordnung (ORM): Doctrine ORM verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

ORM-Framework Tortoise ORM in Python in der Praxis ORM-Framework Tortoise ORM in Python in der Praxis Jun 10, 2023 pm 06:05 PM

TortoiseORM ist ein asynchrones ORM-Framework, das auf der Python-Sprache basiert und zur Verwaltung relationaler Datenbanken in asynchronen Python-Anwendungen verwendet werden kann. In diesem Artikel erfahren Sie, wie Sie mit dem TortoiseORM-Framework Daten erstellen, lesen, aktualisieren und löschen. Außerdem erfahren Sie, wie Sie einfache und komplexe Abfragen aus einer relationalen Datenbank durchführen. Vorbereitung Bevor Sie mit diesem Tutorial beginnen, müssen Sie Python installieren (Python3.6+ wird empfohlen) und TortoiseOR installieren.

Wie verwende ich objektrelationales Mapping (ORM) in PHP, um Datenbankoperationen zu vereinfachen? Wie verwende ich objektrelationales Mapping (ORM) in PHP, um Datenbankoperationen zu vereinfachen? May 07, 2024 am 08:39 AM

Datenbankoperationen in PHP werden durch ORM vereinfacht, das Objekte in relationalen Datenbanken abbildet. EloquentORM in Laravel ermöglicht Ihnen die Interaktion mit der Datenbank mithilfe einer objektorientierten Syntax. Sie können ORM verwenden, indem Sie Modellklassen definieren, Eloquent-Methoden verwenden oder in der Praxis ein Blog-System erstellen.

ORM in PHP ORM in PHP May 24, 2023 am 08:14 AM

Mit der Entwicklung des Internets wurde die Entwicklung von Webanwendungen nach und nach weit verbreitet. Eine der wichtigsten Sprachen ist PHP. Allerdings war die Datenverwaltung und -verarbeitung schon immer ein Problem für Entwickler. Aus diesem Grund hat sich ORM zu einer guten Wahl für die Datenverarbeitung entwickelt. Was ist ein ORM? ORM steht für Object-Relational Mapping. Dabei handelt es sich um eine Methode zur Konvertierung von Objekten in objektorientierten Programmiersprachenprogrammen unter Verwendung von Metadaten, die die Zuordnung zwischen Objekten und Datenbanken beschreiben.

Wie implementiert Hibernate polymorphe Zuordnung? Wie implementiert Hibernate polymorphe Zuordnung? Apr 17, 2024 pm 12:09 PM

Die polymorphe Hibernate-Zuordnung kann geerbte Klassen der Datenbank zuordnen und bietet die folgenden Zuordnungstypen: Joined-Subclass: Erstellen Sie eine separate Tabelle für die Unterklasse, einschließlich aller Spalten der übergeordneten Klasse. Tabelle pro Klasse: Erstellen Sie eine separate Tabelle für Unterklassen, die nur unterklassenspezifische Spalten enthält. Union-Unterklasse: ähnelt der verbundenen Unterklasse, aber die Tabelle der übergeordneten Klasse vereint alle Spalten der Unterklasse.

Was ist der ORM-Mechanismus des Java Hibernate Frameworks? Was ist der ORM-Mechanismus des Java Hibernate Frameworks? Apr 17, 2024 pm 02:39 PM

Hibernate ist ein JavaORM-Framework für die Zuordnung zwischen Java-Objekten und relationalen Datenbanken. Sein ORM-Mechanismus umfasst die folgenden Schritte: Annotation/Konfiguration: Die Objektklasse wird mit Annotationen oder XML-Dateien markiert, die ihre zugeordneten Datenbanktabellen und -spalten angeben. Sitzungsfabrik: verwaltet die Verbindung zwischen Hibernate und der Datenbank. Sitzung: Stellt eine aktive Verbindung zur Datenbank dar und wird zum Durchführen von Abfrage- und Aktualisierungsvorgängen verwendet. Persistenz: Speichern Sie Daten über die Methode save() oder update() in der Datenbank. Abfrage: Verwenden Sie Kriterien und HQL, um komplexe Abfragen zum Abrufen von Daten zu definieren.

Was sind die Nachteile des Hibernate ORM-Frameworks? Was sind die Nachteile des Hibernate ORM-Frameworks? Apr 18, 2024 am 08:30 AM

Das HibernateORM-Framework weist die folgenden Mängel auf: 1. Großer Speicherverbrauch, da es Abfrageergebnisse und Entitätsobjekte zwischenspeichert. 2. Hohe Komplexität, die ein umfassendes Verständnis der Architektur und Konfiguration erfordert. 3. Verzögerte Ladeverzögerungen, die zu unerwarteten Verzögerungen führen . Leistungsengpässe treten im Mai auf, wenn eine große Anzahl von Entitäten gleichzeitig geladen oder aktualisiert wird. 5. Herstellerspezifische Implementierung, was zu Unterschieden zwischen Datenbanken führt.

Wie objektrelationale Mapping- und Datenbankabstraktionsschichten von PHP die Lesbarkeit des Codes verbessern Wie objektrelationale Mapping- und Datenbankabstraktionsschichten von PHP die Lesbarkeit des Codes verbessern May 06, 2024 pm 06:06 PM

Antwort: ORM (Object Relational Mapping) und DAL (Database Abstraction Layer) verbessern die Lesbarkeit des Codes, indem sie die zugrunde liegenden Details der Datenbankimplementierung abstrahieren. Detaillierte Beschreibung: ORM verwendet einen objektorientierten Ansatz zur Interaktion mit der Datenbank und bringt den Code näher an die Anwendungslogik. DAL bietet eine gemeinsame Schnittstelle, die unabhängig von Datenbankanbietern ist und die Interaktion mit verschiedenen Datenbanken vereinfacht. Durch die Verwendung von ORM und DAL kann die Verwendung von SQL-Anweisungen reduziert und der Code prägnanter gestaltet werden. In der Praxis können ORM und DAL die Abfrage von Produktinformationen vereinfachen und die Lesbarkeit des Codes verbessern.

Wie verwende ich ORM (Object Relational Mapping) im Phalcon-Framework? Wie verwende ich ORM (Object Relational Mapping) im Phalcon-Framework? Jun 03, 2023 pm 09:21 PM

Mit der kontinuierlichen Weiterentwicklung von Webanwendungen entstehen auch entsprechende Webentwicklungs-Frameworks. Unter ihnen wird das Phalcon-Framework aufgrund seiner hohen Leistung und Flexibilität von immer mehr Entwicklern bevorzugt. Das Phalcon-Framework bietet viele nützliche Komponenten, von denen ORM (Object Relational Mapping) als eine der wichtigsten gilt. In diesem Artikel wird die Verwendung von ORM im Phalcon-Framework vorgestellt und einige praktische Anwendungsbeispiele vorgestellt. Was ist ORM? Zuerst müssen wir verstehen, was ORM ist. ORM ist objektbezogen

See all articles