Ziskani connection dat z config.neon

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
blueticket
Člen | 41
+
0
-

Zdravim,

chtel bych se zeptat. Potrebuju kuli 3rd party komponente ziskat connection data na databazi z config.neon a nevim si s tim rady. Nevite me nekdo navest?

v config.neon mam :

database:
    default:
        dsn: "mysql:host=localhost;dbname=rcrud"
        user: root
        password: password

a potreboval bych nastavit neco ve zmyslu:

public static $dbname = 'rcrud'; // Your database name
public static $dbuser = 'root'; // Your database username
public static $dbpass = 'password'; // // Your database password
public static $dbhost = 'localhost'; // Your database host, 'localhost' is default.

je neco takoveho vubec mozny? Klidne i zmenou config.neon

Diky moc predem

Jan Mikeš
Člen | 771
+
+3
-

Ahoj, doporučuji si přesunout hodnoty do sekce parameters v configu (ideáně v config.local.neon), následně tyto hodnoty můžeš předávat do ostatních služeb/tříd a tímto způsobem se k nim i dostaneš.

parameters:
	database:
		host: localhost
		dbname: xxx
		user: xxx
		pass: xxx

database:
    default:
        dsn: "mysql:host=%database.host%;dbname=%database.dbname%"
        user: %database.user%
        password: %database.pass%

services:
	- MyServiceThatNeedsDbAccess(%database.host%, %database.dbname%, %database.user%, %database.pass%)
class MyServiceThatNeedsDbAccess
{
	public function __construct($host, $dbname, $user, $pass)
	{

	}
}

Editoval Jan Mikeš (28. 11. 2016 16:03)

CZechBoY
Člen | 3608
+
0
-

Nešlo by tu komponentu regnout do DIC a předat ji connection? Ať se nepřipojuješ dvakrát.

blueticket
Člen | 41
+
0
-

Jan Mikeš napsal(a):

Ahoj, doporučuji si přesunout hodnoty do sekce parameters v configu (ideáně v config.local.neon), následně tyto hodnoty můžeš předávat do ostatních služeb/tříd a tímto způsobem se k nim i dostaneš.

parameters:
	database:
		host: localhost
		dbname: xxx
		user: xxx
		pass: xxx

database:
    default:
        dsn: "mysql:host=%database.host%;dbname=%database.dbname%"
        user: %database.user%
        password: %database.pass%

services:
	- MyServiceThatNeedsDbAccess(%database.host%, %database.dbname%, %database.user%, %database.pass%)
class MyServiceThatNeedsDbAccess
{
	public function __construct($host, $dbname, $user, $pass)
	{

	}
}

Diky moc, velice to pomohlo. Supr!!!