Konfiguration Datenbank

Anmerkungen, Fragen und Hinweise zur Konfiguration dürfen in diesem Forum gepostet werden. // Notes, questions, and hints on the configuration can be posted here.
Antworten
Sorcuring
Beiträge: 4
Registriert: 12.09.2009, 14:38:43

Konfiguration Datenbank

Beitrag von Sorcuring » 12.09.2009, 14:44:08

Hallo,

irgendwie steh ich auf dem Schlauch und blick nicht durch.

Ich will in meinen/m Modul(en) auf eine MySQL-Datenbank nutzen. Dazu braucht es ja ein Konfigurationsfile im Verzeichnis /config/core/database/

Der Inhalt ist auch klar.

Aber ich würde gerne für alle meine Module nur eine Datei für die Datenbankverbindung anlegen -- wie muß dann {CONTEXT} und {ENVIRONMENT} benannt werden?

Im Anfänger-Tutorial unter http://adventure-php-framework.org/Seit ... n-Tutorial wäre da mehr Erklärung für Anfänger wie mich sicher gut aufgehoben ;)

Lg

Sorcuring

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: Konfiguration Datenbank

Beitrag von dr.e. » 12.09.2009, 16:11:24

Hallo Sorcuring,

herzlich willkommen im APF-Forum! 8-)
Aber ich würde gerne für alle meine Module nur eine Datei für die Datenbankverbindung anlegen -- wie muß dann {CONTEXT} und {ENVIRONMENT} benannt werden?
Die beiden Platzhalter werden beim APF eingesetzt, um die Möglichkeit zu schaffen, Applikationen für den Einsatz in verschiedenen Umgebungen (Context) und auf unterschiedlichen Infrastrukturen einsetzen zu können. Die genauen Erläuterungen kannst du dir unter http://adventure-php-framework.org/Seit ... nd-Dateien oder im Foren-Thread Hilfe für APF-Neuling ansehen.

Für deinen konkreten Fall reicht es zu wissen, dass der Context ein Teil-Pfad für die Adressierung der Konfigurations-Datei ist und das Environment standardmäßig auf DEFAULT steht (falls nicht über die Registry anders konfiguriert). Der Context wird dem Page- oder Front-Controller jeweils bei der Erstellung mitgegeben. Sofern deine index.php den Inhalt

Code: Alles auswählen

$page = new Page();  
$page->set('Context','myapp');  
$page->loadDesign('sites::mysite::pres::templates','mywebsite');  
echo $page->transform();  
enthält, dann ist der Wert des Context "myapp". Möchtest du dann eine Konfigurations-Datei unter dem Namespace "sites::mysite" und mit dem Namen "settings" addressieren, so lautet der Pfad

Code: Alles auswählen

/config/sites/mysite/myapp/DEFAULT_settings.ini
Ich hoffe, das hilft dir weiter?!
Im Anfänger-Tutorial unter http://adventure-php-framework.org/Seit ... n-Tutorial wäre da mehr Erklärung für Anfänger wie mich sicher gut aufgehoben
Das Tutorial ist schon ätwas älter und bedarf der Überarbeitung - richtig. In Kürze wird jedoch ein komplett neuer Artikel zum Design und zur Implementierung eines Gästebuchs erscheinen, der besser auf die jeweiligen Themen und die Implementierung eingeht. Solltest du Fragen haben, dann stell diese hier einfach.
Viele Grüße,
Christian

Coach83
Beiträge: 271
Registriert: 13.05.2010, 17:33:12
Kontaktdaten:

Re: Konfiguration Datenbank

Beitrag von Coach83 » 13.05.2010, 17:35:18

Hallo,

auch ich stehe vor diesem Problem:
ich bin gerade dabei, mich am Adventure Framework zu versuchen - und hoffe, dass man mir hier helfen kann.
in der index.php steht folgendes:

Code: Alles auswählen

$page = new Page(); 
$page->set('Context','myapp'); 
$page->loadDesign('sites::mysite::pres::templates','mywebsite'); 
echo $page->transform(); 
und in der content_controller.php

Code: Alles auswählen

import('core::database','MySQLxHandler');
import('tools::request','RequestHandler');

class content_v1_controller extends base_controller { 	
	function content_v1_controller(){  
	}  

	function transformContent(){ 
		$config = &$this->__getConfiguration('modules::mymodule','settings');
		$SQL =  $this->__getServiceObject('core::database','MySQLxHandler');  
	} 
}
Nun zu meiner Frage:
Wo muss ich die .ini Datei abspeichern, damit diese berücksichtigt wird?

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Konfiguration Datenbank

Beitrag von Screeze » 13.05.2010, 17:44:54

Hi,
und willkommen im APF-Forum.

Es kommt darauf an welche ini datei du meinst. Der Titel lässt auf die der Datenbank schließen,

Code: Alles auswählen

   $config = &$this->__getConfiguration('modules::mymodule','settings');
könnte allerdings auch eine gesonderte zu sein.

Die config für die Datenbank wird hier beschrieben:
http://adventure-php-framework.org/Seit ... figuration

Und für

Code: Alles auswählen

   $config = &$this->__getConfiguration('modules::mymodule','settings');
würde der Pfad lauten:

Code: Alles auswählen

/config/modules/mymodule/{CONTEXT}/{ENVIRONMENT}_settings.ini
Nach deiner index.php wäre
{CONTEXT} = myapp
{ENVIRONMENT} = DEFAULT

Ich hoffe das hilft weiter.

Grüße,
Ralf

Coach83
Beiträge: 271
Registriert: 13.05.2010, 17:33:12
Kontaktdaten:

Re: Konfiguration Datenbank

Beitrag von Coach83 » 13.05.2010, 18:11:19

noch nicht ganz :?
kriege immernoch ein
"Requested configuration with name "DEFAULT_connections.ini" cannot be loaded from namespace "core::database" with context "myapp"!"

wird die .ini unter httpdocs/config/modules/mymodules/myapp/DEFAULT_settings.ini abgespeichert?
also vom Root-VZ des Webservers aus gesehen? Oder wird das Ganze als Unterordner des Ordners apps agelegt?


habe meinen content_v1_controller noch angepasst:

Code: Alles auswählen

$cm = &$this->__getServiceObject('core::database','ConnectionManager'); 
$conn = $cm->getConnection('MySQLi');

schon mal Danke für Deine Hilfe :-)!

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Konfiguration Datenbank

Beitrag von Screeze » 13.05.2010, 18:19:54

Du vermischt hier 2 dinge:

1. die Datenbankconfig
2. die config die du explizit versucht hast abzufragen


Die datenbankconfig würde hier liegen:

Code: Alles auswählen

httpdocs/config/core/database/myapp/DEFAULT_settings.ini
vorrausgesetzt httpdocs ist der Ordner in dem auch /core/... und /modules/... etc. liegen.

Coach83
Beiträge: 271
Registriert: 13.05.2010, 17:33:12
Kontaktdaten:

Re: Konfiguration Datenbank

Beitrag von Coach83 » 13.05.2010, 19:48:34

jetzt klappts :-)
Danke nochmal!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste