2016-04-11 16 views
3

Ich versuche, eine pi-Basis-Erweiterung mit typo3 7.6.4 kompatibel zu machen. Aber ich bin nicht in der Lage, die kompatible Version des folgenden CodeKompatibilität von tslib_eidtools für typo3 7

$this->feUserObj = tslib_eidtools::initFeUser();     
// Connect to database:   
tslib_eidtools::connectDB(); 

Es wirft den Fehler zu machen: Klasse tslib_eidtools nicht gefunden. Wie kann ich die Klasse tslib_eidtools konvertieren, so dass sie mit typo3 7 kompatibel ist?

Antwort

2

In der Core-Datei von TYPO3 7.6 LTS befindet sich der Datenbank-Verbindungsaufbau-Code in core/Classes/Database/DatabaseConnection.php. Sie müssen das Objekt dieser Klasse nicht erstellen.

Sie können das DB-Objekt und die Verbindungsparameter aus der TYPO3 Globals Constant $ GLOBALS ['TYPO3_DB'] abrufen. Siehe Click Here

Sie könnten die benutzerdefinierten MySQL-Abfragen mit diesem globalen Objekt schreiben.

Beispiel:

$results = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows (
             $select_fields, 
             $from_table, 
             $where_clause, 
             $groupBy= '', 
             $orderBy= '', 
             $limit= '', 
             $uidIndexField= ''); 

TYPO3 "Datenbank-Wrapper" Klasse (neu in 3.6.0) Diese Klasse enthält

  • Abstraktion Funktionen zur Ausführung von INSERT/UPDATE/DELETE /SELECT Abfragen ("Query execution"; Diese sind für alle zukünftigen Konnektivität mit der Datenbank erforderlich, so dass die DBAL-Compliance gewährleistet!)

  • Funktionen zum Erstellen von SQL-Abfragen (INSERT/UPDATE/DELETE/SELECT)
    ("Abfrage erstellen"); Dies sind Übergangsfunktionen zum automatisierten Erstellen von SQL Abfragen. Verwenden Sie diese, um stattdessen Abfragen
    manuell in Ihrem Code zu tun!

  • mysqli Wrapper-Funktionen; Dies sind Übergangsfunktionen. Durch eine einfache Suche/ersetzen sollten Sie in der Lage sein, alle mysql *() Aufrufe mit $ GLOBALS ['TYPO3_DB'] -> sql *() und Ihre Anwendung wird funktionieren out of the box. Sie können (legal) keine mysqli Funktionen verwenden, die nicht als Wrapper-Funktionen in dieser Klasse gefunden wurden! Siehe die Projekt Coding-Richtlinien (doc_core_cgl) für weitere Anweisungen auf Best-Practice-

dies auch connect() Methode werden Sie nicht in den meisten Fällen von TYPO3 6.2

verwenden müssen