---
title: "Datenbankzugriff von PHP-Skript"
url: "https://www.typo3.net/d/98053-datenbankzugriff-von-php-skript"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Datenbank","Frage","JavaScript & AJAX"]
created: "2010-04-06"
last_reply: "2010-04-07"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# Datenbankzugriff von PHP-Skript

Extensions › Entwicklung · 2 Antworten · gestartet 2010-04-06

## Eröffnungsbeitrag

**TinaE** · 2010-04-06 · [Beitrag #1](https://www.typo3.net/d/98053-datenbankzugriff-von-php-skript/1)

Hallo,

ich habe ein paar Fragen zur Entwicklung von Extensions. So langsam habe ich das Gefühl, je mehr ich zu dem Thema lese, desto verwirrter werde ich...

Mein Problem ist folgendes: Ich habe mit dem Kickstarter ein Frontend Plugin erstellt, funktioniert soweit auch sehr gut. Nun möchte ich bei Klick auf einen Button per AJAX Daten hinzufügen. Das heißt, ich rufe eine PHP-Datei auf. Auch dieser Schritt funktioniert. Nur habe ich in der "neuen" PHP-Datei keinen Datenbank-Zugriff und weiß nicht, wie ich diesen am besten herstelle.
Ich habe zwei Varianten ausprobiert:

Folgenden Code in die PHP-Datei eingebunden:

```php
define('PATH_tslib', $_SERVER['DOCUMENT_ROOT'].'/typo3/sysext/cms/tslib/');
define('PATH_t3lib', $_SERVER['DOCUMENT_ROOT'].'/t3lib/');
define('PATH_typo3conf', $_SERVER['DOCUMENT_ROOT'].'/typo3conf/');

require_once(PATH_t3lib.'class.t3lib_extmgm.php');
require_once(PATH_tslib.'class.tslib_pibase.php');
require_once(PATH_t3lib.'class.t3lib_db.php');
require_once(PATH_t3lib.'class.t3lib_div.php');
require_once(PATH_t3lib.'config_default.php');
require_once(PATH_typo3conf.'localconf.php');

$GLOBALS['TYPO3_DB'] = t3lib_div::makeInstance('t3lib_DB');
$GLOBALS['TYPO3_DB']->connectDB();
```

Anschließend habe ich probiert, die PHP-Datei in Form einer Klasse anzulegen und in der ext_localconf.php zu registrieren. Dies habe ich auf 2 Arten ausprobiert, die ich aber beide nicht zum Laufen bringen konnte (vermutlich, weil ich nicht so 100%ig verstehe, was ich da eigentlich tue):

```php
$TYPO3_CONF_VARS['FE']['eID_include']['te_skills'] = 'EXT:te_skills/pi1/class.create_new_skill.php';
```

```php
$TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/te_skills/pi1/class.create_new_skill.php'] = t3lib_extMgm::extPath($_EXTKEY) . 'pi1/class.create_new_skill.php';
```

Ich verstehe noch nicht genau, wie ich grundsätzlich bei der Extension-Entwicklung vorgehen sollte. Irgendwo habe ich gelesen, dass man alle Funktionen als Methoden in PHP-Klassen anlegen sollte. Leider stand dort nicht, wieso. Wenn ich eine Funktion nur einmal benötige, warum soll ich dann extra eine Methode dafür anlegen?
Wenn ich mehrere Funktionen über AJAX aufrufen möchte, dann würde ich eigentlich für jede Funktion eine einzelnen PHP-Datei anlegen. Sollte ich dann in jeder Datei eine Klasse definieren? Ich verstehe den Sinn dahinter nicht.

Ich hoffe, es kann mir jemand helfen und etwas Licht in die Sache bringen. Im Moment weiß ich nicht so recht, wie ich weitermachen soll. So langsam verstehe ich immer mehr, warum gesagt wird, dass eine Einarbeitung in Typo3 Monate dauert ;-)

Schönen Gruß,
Tina

## Antworten

### [#2](https://www.typo3.net/d/98053-datenbankzugriff-von-php-skript/2) · Julian.​Hofmann · 2010-04-07

Hallo Tina.

Ajax sollte normalerweise den Vorteil haben, dass es schnell und leicht daherkommt. Es macht daher im Allgemeinen wenig Sinn,w enn ein Ajax-Skript den ganze Rahmen von TYPO3 durchläuft, nur um am Ende ein paar Daten zu Speichern bzw. zu lesen. Daher wurde mit Version 4.2 der eID-Mechanismus eingeführt, der eine leichtgewichtiger Handhabung von Ajax-Aufrufen in TYPO3 ermöglicht.

Eine gute Einführung ist z.B. <http://www.typo3-tutorials.org/tutorials/extensions/eid-mechanismus.html>
Ansonsten gibt es auch einige Kommentare im TYPO3-Kochbuch bzw. findet sich mit dem nun bekannten Stichwort "eID" noch einiges im Netz.

Viele Grüße
Julian

### [#3](https://www.typo3.net/d/98053-datenbankzugriff-von-php-skript/3) · TinaE · 2010-04-07

Hallo Julian,

super, jetzt weiß ich, in welche Richtung ich muss. Vielen Dank!
Nachdem ich mir ein paar Sachen durchgelesen habe, hab ich es auch hingekriegt.

Falls noch jemand Infos braucht: Der Podcast von Kasper Skårhøj (<http://castor.t3o.punkt.de/files/podkast12_v4_techinsight_ajax.m4v>) und seine Beispiel-Extension whiteboard sind sehr gut zu verstehen.

Gruß,
Tina

---

Quelle: „Datenbankzugriff von PHP-Skript“, typo3.net, https://www.typo3.net/d/98053-datenbankzugriff-von-php-skript
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
