Changeset 4741
- Timestamp:
- 08/07/08 09:56:58 (11 months ago)
- Location:
- branches/1.0/docs/manual/de/connection-management
- Files:
-
- 5 modified
-
connection-component-binding.txt (modified) (1 diff)
-
dsn-the-data-source-name.txt (modified) (10 diffs)
-
lazy-connecting-to-database.txt (modified) (2 diffs)
-
managing-connections.txt (modified) (5 diffs)
-
opening-a-new-connection.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/1.0/docs/manual/de/connection-management/connection-component-binding.txt
r4695 r4741 1 Mit Doctrine k�n Sie einzelnen Komponenten ihrer Anwendung (= ActiveRecord Klassen) unterschiedliche Verbindungen zuweisen (binding). Immer wenn eine Komponente Datenbankzugriffe durchf�nutzt diese die ihr zugewiesene DB-Verbindung:1 Mit Doctrine können Sie einzelnen Komponenten ihrer Anwendung (= ActiveRecord Klassen) unterschiedliche Verbindungen zuweisen (binding). Immer wenn eine Komponente Datenbankzugriffe durchführt, nutzt diese die ihr zugewiesene DB-Verbindung: 2 2 3 3 <code type="php"> -
branches/1.0/docs/manual/de/connection-management/dsn-the-data-source-name.txt
r4695 r4741 1 Um eine DB-Verbindung mit Doctrine herzustellen, benutzen Sie einen g�n DSN - data source name (Name der Datenquelle).2 Doctrine unterst �owohl PEAR/DB/MDB2 als auch PDO DSN. Wenn Sie mehr zu PDO DSN wissen m�en, lesen Sie [[php PDO->__construct()]].1 Um eine DB-Verbindung mit Doctrine herzustellen, benutzen Sie einen gültigen DSN - data source name (Name der Datenquelle). 2 Doctrine unterstützt sowohl PEAR/DB/MDB2 als auch PDO DSN. Wenn Sie mehr zu PDO DSN wissen öchten, lesen Sie [[php PDO->__construct()]]. 3 3 4 4 Ein DSN besteht aus folgenden Teilen … … 7 7 || phptype || von PHP benutzte DB (z.B. mysql , pgsql etc.) || 8 8 || dbsyntax || verwendete Datenbaksyntax im Bezug auf SQL Syntax etc. || 9 || protocol || �ertragunsprotokoll ( z.B. tcp, unix etc.) ||9 || protocol || Übertragunsprotokoll ( z.B. tcp, unix etc.) || 10 10 || hostspec || Hostrechner (z.B. localhost)(Hostname[:Port]) || 11 11 || database || Name der Dantenbank auf dem DBMS Server || 12 || username || Username f �in ||13 || password || Passwort f �in ||12 || username || Username fügin || 13 || password || Passwort fügin || 14 14 || proto_opts || Kann zusammen mit protocol benutzt werden|| 15 || option || Zus �liche Verbindungsoptionen angeh�t im URL-Query String Format (Key/Value Paare getrennt mit &). Die folgende Tabelle zeigt eine unvollst�ige Auswahl an Optionen: ||15 || option || Zusätzliche Verbindungsoptionen angehängt im URL-Query String Format (Key/Value Paare getrennt mit &). Die folgende Tabelle zeigt eine unvollständige Auswahl an Optionen: || 16 16 17 17 **Optionsliste** 18 18 19 19 ||~ Name ||~ Beschreibung || 20 || charset || Einige Backends unterst �das Setzen des Client Zeichensatzes.||20 || charset || Einige Backends unterstützen das Setzen des Client Zeichensatzes.|| 21 21 || new_link || Einige RDBMS erzeugen keine neuen Verbindungen, wenn sie mehrfach mit dem gleichen Host verbinden. Diese Option versucht, immer eine neue Verbindung zu erzwingen. || 22 22 23 Der DSN kann entweder als assoziatives Array oder als String �ben werden. Die komplette Variante des String-Formats sieht so aus:23 Der DSN kann entweder als assoziatives Array oder als String übergeben werden. Die komplette Variante des String-Formats sieht so aus: 24 24 25 25 <code>phptype(dbsyntax)://username:password@protocol+hostspec/database?option=value</code> 26 26 27 Die meisten Schreibweisen werden unterst �z.B.:27 Die meisten Schreibweisen werden unterstützt, z.B.: 28 28 29 29 <code> … … 40 40 </code> 41 41 42 Zur Zeit werden folgende DB-Systeme unterst� 43 ||~ Treibername ||~ Unerst�Datenbank || 42 Zur Zeit werden folgende DB-Systeme unterstützt: 43 44 ||~ Treibername ||~ Unerstützte Datenbank || 44 45 || fbsql || FrontBase || 45 || ibase || InterBase / Firebird (ben �t PHP 5) ||46 || mssql || Microsoft SQL Server (NICHT f �ase. Compile PHP --with-mssql) ||46 || ibase || InterBase / Firebird (benötigt PHP 5) || 47 || mssql || Microsoft SQL Server (NICHT für Sybase. Compile PHP --with-mssql) || 47 48 || mysql || MySQL || 48 || mysqli || MySQL (unterst �neues Authentication Protokoll) (ben�t PHP 5) ||49 || mysqli || MySQL (unterstützt neues Authentication Protokoll) (benötigt PHP 5) || 49 50 || oci8 || Oracle 7/8/9/10 || 50 51 || pgsql || PostgreSQL || … … 52 53 || sqlite || SQLite 2 || 53 54 54 Ein zweites unterst �DSN Format ist:55 Ein zweites unterstütztes DSN Format ist: 55 56 56 57 <code> … … 58 59 </code> 59 60 60 Wenn der Datenbankname, die Option Parameter, der Username oder das Passwort Zeichen enthalten, die zur Kennzeichnung von DSN Teilen reserviert sind, k �n Sie diese durch die entsprechenden URI Hexadezimal-Codes ersetzen:61 Wenn der Datenbankname, die Option Parameter, der Username oder das Passwort Zeichen enthalten, die zur Kennzeichnung von DSN Teilen reserviert sind, können Sie diese durch die entsprechenden URI Hexadezimal-Codes ersetzen: 61 62 62 63 ||~ Zeichen ||~ Hex Code || … … 72 73 73 74 Warnung 74 Bitte beachten Sie, dass einige Features nicht von allen Datenbanksystemen unterst �erden.75 Bitte beachten Sie, dass einige Features nicht von allen Datenbanksystemen unterstützt werden. 75 76 76 77 … … 83 84 </code> 84 85 85 **Bespiel 2.** Verbindung zur Datenbank �inen Nicht-Standard-Port86 **Bespiel 2.** Verbindung zur Datenbank über einen Nicht-Standard-Port 86 87 87 88 <code> … … 89 90 </code> 90 91 91 **Bespiel 3.** Verbindung mit SQLite auf einem Unix Server mit zus �liche Parameters (options)92 **Bespiel 3.** Verbindung mit SQLite auf einem Unix Server mit zusätzliche Parameters (options) 92 93 93 94 <code> … … 95 96 </code> 96 97 97 **Bespiel 4.** Verbindung mit SQLite auf einem Windows Server mit zus �liche Parameters (options)98 **Bespiel 4.** Verbindung mit SQLite auf einem Windows Server mit zusätzliche Parameters (options) 98 99 99 100 <code> … … 101 102 </code> 102 103 103 **Bespiel 5.** Verbingung mit MySQLi �SL104 **Bespiel 5.** Verbingung mit MySQLi über SSL 104 105 105 106 <code> -
branches/1.0/docs/manual/de/connection-management/lazy-connecting-to-database.txt
r4724 r4741 1 Eine Datenbankverbindung nur im Bedarfsfall aufzubauen (lazy connecting) kann viele Systemresourcen sparen. Oftmals wird auf vielen Seiten keine DB-Verbindung gebraucht. Deshalb sollten Sie immer Lazy-Connecting benutzen. So stellt Doctrine nur dann eine DB-Verbindung her, wenn diese auch wirklich ben�t wird.1 Eine Datenbankverbindung nur im Bedarfsfall aufzubauen (lazy connecting) kann viele Systemresourcen sparen. Oftmals wird auf vielen Seiten keine DB-Verbindung gebraucht. Deshalb sollten Sie immer Lazy-Connecting benutzen. So stellt Doctrine nur dann eine DB-Verbindung her, wenn diese auch wirklich benötigt wird. 2 2 3 Dieses Feature kann zum Beispiel beim Cachen von Seiten sehr hilfreich sein, denn dort ben �t man nicht bei jedem Request eine Datenbankverbindung.3 Dieses Feature kann zum Beispiel beim Cachen von Seiten sehr hilfreich sein, denn dort benötigt man nicht bei jedem Request eine Datenbankverbindung. 4 4 Denken Sie immer daran, dass das Verbinden mit der Datenbank ein sehr resourcenintensiver Vorgang ist. 5 5 … … 9 9 // !! noch keine Verbindung hergestellt !! 10 10 11 // verbindet zur Datenbank und f �enQuery aus11 // verbindet zur Datenbank und führt die Query aus 12 12 $users = Doctrine_Query::create() 13 13 ->from('User u') -
branches/1.0/docs/manual/de/connection-management/managing-connections.txt
r4695 r4741 1 Von Beginn an wurde Doctrine so entworfen, dass es mit mehreren DB-Verbindungen arbeitet. Au�r Sie geben die Verbindung explizit an, benutzt Doctrine immer die dezeit aktuelle Verbindung f�ragen.2 Das folgende Bespiel zeigt, wie man eine optionale DB-Verbindung als 2. Funktionsparameter {{openConnection()}} �bt:1 Von Beginn an wurde Doctrine so entworfen, dass es mit mehreren DB-Verbindungen arbeitet. Außer Sie geben die Verbindung explizit an, benutzt Doctrine immer die dezeit aktuelle Verbindung für Anfragen. 2 Das folgende Bespiel zeigt, wie man eine optionale DB-Verbindung als 2. Funktionsparameter {{openConnection()}} übergibt: 3 3 4 4 <code type="php"> … … 7 7 $manager = Doctrine_Manager::getInstance(); 8 8 9 // erste Verbindung �en9 // erste Verbindung öffnen 10 10 11 11 $conn = $manager->openConnection('mysql://username:password@localhost/test', 'connection 1'); 12 12 </code> 13 13 14 Zur Vereinfachung stellt {{Doctrine_Manager}} die statische Methode {{connection()}} bereit. Beim Aufruf mit Parametern �et sie eine neue Verbindung, ohne Parameter liefert sie die aktuelle Vebindung zur�<code type="php"> 15 // erste Verbindung �en 14 Zur Vereinfachung stellt {{Doctrine_Manager}} die statische Methode {{connection()}} bereit. Beim Aufruf mit Parametern öffnet sie eine neue Verbindung, ohne Parameter liefert sie die aktuelle Vebindung zurück. 15 16 <code type="php"> 17 // erste Verbindung öffnen 16 18 17 19 $conn = Doctrine_Manager::connection('mysql://username:password@localhost/test', 'connection 1'); … … 22 24 </code> 23 25 24 Die aktuelle Verbindung ist immer die zuletzt ge �ete.26 Die aktuelle Verbindung ist immer die zuletzt geöffnete. 25 27 26 28 27 29 <code type="php"> 28 // zweite Verbindung �en30 // zweite Verbindung öffnen 29 31 30 32 $conn2 = $manager->openConnection('mysql://username2:password2@localhost/test2', 'connection 2'); … … 33 35 </code> 34 36 35 �dern Sie die benutzte Verbindung durch Aufrufen von {{setCurrentConnection()}}.37 Ändern Sie die benutzte Verbindung durch Aufrufen von {{setCurrentConnection()}}. 36 38 <code type="php"> 37 39 $manager->setCurrentConnection('connection 1'); … … 41 43 42 44 43 Da {{Doctrine_Manager}} das {{IteratorAggregate}} Interface implementiert, k �n sie ganz einfach mit foreach �as Manager Objekt iterieren, um auf die ge�eten Verbindungen zuzugreifen:45 Da {{Doctrine_Manager}} das {{IteratorAggregate}} Interface implementiert, können sie ganz einfach mit foreach über das Manager Objekt iterieren, um auf die geöffneten Verbindungen zuzugreifen: 44 46 45 47 <code type="php"> -
branches/1.0/docs/manual/de/connection-management/opening-a-new-connection.txt
r4695 r4741 1 Eine neue Datenbankverbindung mit Doctrine herzustellen ist sehr einfach.1 Eine neue Datenbankverbindung mit Doctrine herzustellen ist sehr einfach. 2 2 Wenn Sie PDO (www.php.net/PDO) benutzen wollen, erzeugen Sie einfach ein neues PDO Objekt: 3 3 … … 15 15 </code> 16 16 17 Anmerkung: Wenn Sie eine PDO Instanz direkt an Doctrine_Manager::connection() �ben, kennt Doctrine den Usernamen/Passwort der Verbindung nicht, da sich diese Informationen nicht aus einer bestehenden PDO Instanz auslesen lassen. Username und Passwort werden von Doctrine aber ben�t, um Datenbanken zu erzeugen und zu l�en.18 Dieses Problem k �n Sie umgehen, indem sie dem $conn Objekt manuell Username und Passwort zuweisen.17 Anmerkung: Wenn Sie eine PDO Instanz direkt an Doctrine_Manager::connection() übergeben, kennt Doctrine den Usernamen/Passwort der Verbindung nicht, da sich diese Informationen nicht aus einer bestehenden PDO Instanz auslesen lassen. Username und Passwort werden von Doctrine aber benötigt, um Datenbanken zu erzeugen und zu löschen. 18 Dieses Problem können Sie umgehen, indem sie dem $conn Objekt manuell Username und Passwort zuweisen. 19 19 20 20 <code type="php">