cms datenbankzugriff?

Hilfe zu Modulen und Tags
NashBridges
Forum Members
Forum Members
Posts: 75
Joined: Sun Jun 15, 2008 2:29 pm

cms datenbankzugriff?

Post by NashBridges »

hi
irgendwie find ich im forum keine lösung bzw anleitung für mein problem:

ich möchte über xajax inhalte meiner datenbank einbinden (die tabellen liegen in der gleichen DB wie das CMS selbst, mit anderem präfix). wie xajax grundsätzlich funktioniert weiß ich, und ich weiß auch wie das im grunde zu programmieren wäre, aber ich habe mir gedacht, daß, nachdem das CMSms ja bei jeden seitenaufbau auf die datenbank zugreift, ich die datenbank-verbindung des CMS hernehmen könnte, um meine SQL-statements abzusetzen und mit xajax zu handeln.

allerdings hab ich keine ahnung wie ich auf die entsprechenden php-variablen zugreifen soll bzw. welche funktion ich aufrufen muß um ein query abzusetzen. gibts dazu vielleicht irgendwo ein tutorial (ich hab zumindest nix gefunden)? oder kann mir das jemand kurz erklären?

danke
lg
christian
cyberman

Re: cms datenbankzugriff?

Post by cyberman »

Hilft dir das weiter ;)?

Code: Select all

global $gCms;

echo '<pre>';
print_r($gCms->GetDb());
echo '</pre>';
NashBridges
Forum Members
Forum Members
Posts: 75
Joined: Sun Jun 15, 2008 2:29 pm

Re: cms datenbankzugriff?

Post by NashBridges »

jo des hilft mal ein bissl :)

wie setz ich jetz nen query ab?

wohl so in der art :

$db = $gCMS->getDb();
$result=$db->execute($query);

oder? gibts irgendwo eine übersicht welche methoden die klasse $gCMS zur Verfügung stellt?
cyberman

Re: cms datenbankzugriff?

Post by cyberman »

Zuvor musst du dir noch $gCMS holen ;)

Code: Select all

global $gCms;
$db = $gCMS->getDb();
$result=$db->execute($query);
NashBridges
Forum Members
Forum Members
Posts: 75
Joined: Sun Jun 15, 2008 2:29 pm

Re: cms datenbankzugriff?

Post by NashBridges »

ok danke, werd mal ein bissl rumspielen... der rest ist eh klar mit $result etc...
würd mich dennoch interessieren obs irgendwo eine API gibt oder sowas ähnliches wo man nachlesen kann, welche funktionen $gCms zur Verfügung stellt... :)
lg
NaN

Re: cms datenbankzugriff?

Post by NaN »

Die steht bei Cyber in der Signatur.
Kann man aber dank des neuen Layouts nicht mehr lesen (das max-height muss da aus den Styles raus).

http://www.cmsmadesimple.org/apidoc/
NashBridges
Forum Members
Forum Members
Posts: 75
Joined: Sun Jun 15, 2008 2:29 pm

Re: cms datenbankzugriff?

Post by NashBridges »

ja weltklasse!!! danke!
coole sache, jetzt gehts los!! :)
NashBridges
Forum Members
Forum Members
Posts: 75
Joined: Sun Jun 15, 2008 2:29 pm

Re: cms datenbankzugriff?

Post by NashBridges »

hey

noch ne frage... was ist besser

Code: Select all

$db=$gCms->getDB();
oder

Code: Select all

$db = &$gCms->db;
lg
NaN

Re: cms datenbankzugriff?

Post by NaN »

Ich persönlich bin dafür:

Code: Select all


$db =& $this->GetDb(); // Bei Modulen

$db =& $gCms->GetDb(); // Bei anderen Scripten

;)

Die Funktion GetDb() macht in beiden Fällen im Grunde auch nichts weiter als $gCms->db zurückzugeben ;)
NashBridges
Forum Members
Forum Members
Posts: 75
Joined: Sun Jun 15, 2008 2:29 pm

Re: cms datenbankzugriff?

Post by NashBridges »

is klar aber der unterschied ist die call-by-reference, also das & davor...

und da is eben die frage was besser is :)
thx
NaN

Re: cms datenbankzugriff?

Post by NaN »

Ich bin kein Programmierer.
Nach meinem Verständnis wäre bei größeren Datenmengen call by reference besser. Spart Speicher.
Allerdings habe ich gerade gelesen, dass das bei PHP die Performance verringern kann. Call-by-value soll wohl schneller verarbeitet werden können.
Ich kenne mich damit aber nicht so genau aus. Meistens kopiere ich einfach den Code der Entwickler. Die werden schon wissen was sie machen (hoffe ich ;) )
Und wenn es um die DB geht, habe ich meistens die call-by-reference Methode gesehen.
NashBridges
Forum Members
Forum Members
Posts: 75
Joined: Sun Jun 15, 2008 2:29 pm

Re: cms datenbankzugriff?

Post by NashBridges »

ich bin einer, der nie mit den references gearbeitet hat, war auch nie nötig, weils eh auch mit value funktioniert.
ich denk die datenmenge bei der DB selber ist egal, da das Objekt der DB_connection immer gleich groß ist. der gedanke, das per call-by-ref zu machen kam mir nur deshalb, weil ich nicht in jeder php-datei (und das werden doch einige sein) eine eigene variable mit dem gesamten objekt ablegen will... so hab ich ja nur den adressbereich einer variablen zugewiesen und nich das objekt "verdoppelt", welches durch CMSms ja eh schon existiert.
daher glaub ich, daß in diesem fall call-by-ref besser ist, auch wenn das CMS vll bei call-by-val aufrufen bessere performance zeigt (was mich aber wundert ehrlichgsagt).
naja... wär jedenfalls mal interessant was die programmierer dazu sagen, wo und wann sich call-by-ref und wann sich call-by-val anbietet...

ich machs derweil mal per call-by-ref, hab das eh so gekapselt, daß ichs jederzeit schnell umstellen kann (include("Dbenv.php") :) )
hlf

Re: cms datenbankzugriff?

Post by hlf »

Innerhalb von Plugins oder Funktionen in denen $smarty zur verfügung steht ist dieser Zugriff am schnellsten:

$smarty->_tpl_vars['gCms']->db->Execute 
cyberman

Re: cms datenbankzugriff?

Post by cyberman »

NaN wrote: Die steht bei Cyber in der Signatur.
Kann man aber dank des neuen Layouts nicht mehr lesen
Danke für den Hinweis - war mir noch gar nicht aufgefallen.
cyberman

Re: cms datenbankzugriff?

Post by cyberman »

hlf wrote: Innerhalb von Plugins oder Funktionen in denen $smarty zur verfügung steht ist dieser Zugriff am schnellsten:

$smarty->_tpl_vars['gCms']->db->Execute 
Das liebe ich an Smarty - selbst nach längerer (laienhafter) Beschäftigung damit isses immer noch für eine Überraschung gut ;).
Post Reply

Return to “Module und Tags”