Připojení k db – config.neon

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

Ahoj,

prosím o pomoc. V config.neon mám:

services:
	database:
		driver: mysql
		host: localhost
		username: username
		password: password
		database: database
		profiler: true

Ale při tomto dostanu hlášku: The definition of service ‚database‘ is missing factory method.

Editoval badbear (5. 6. 2011 21:53)

studna
Člen | 181
+
0
-

Takhle vytváříš službu. Pokud chceš (zřejmě jo) jen pole parametrů, database, přemísti database: na úroveň service:.

edit:
Je rozdíl mezi

service:
	database:
		...

a

service:
	nejakeService:

database:
	...

Editoval studna (5. 6. 2011 22:39)

badbear
Člen | 9
+
0
-

Děkuji, upravil jsem to a nyní v BaseModelu volám:

Environment::getConfig('database');

Vrací však NULL :-(, tušíš, kde dělám chybu?

badbear
Člen | 9
+
0
-

Mám Nette 2.0 Beta – 5.2

srigi
Nette Blogger | 558
+
0
-

Musis to mat v tom configu takto:

development < common:
	database:
		driver: mysql
		host: localhost
		username: username
		password: password
		database: database
		profiler: true
badbear
Člen | 9
+
0
-

srigi napsal(a):

Musis to mat v tom configu takto:

development < common:
	database:
		driver: mysql
		host: localhost
		username: username
		password: password
		database: database
		profiler: true

Stále mi to píše NULL :-((

iqtq
Člen | 20
+
0
-

badbear napsal(a):

Děkuji, upravil jsem to a nyní v BaseModelu volám:

Environment::getConfig('database');

Vrací však NULL :-(, tušíš, kde dělám chybu?

A v boostrap.php \Nette\Environment::loadConfig(); máš?

Editoval iqtq (5. 6. 2011 23:14)

badbear
Člen | 9
+
0
-

iqtq napsal(a):

badbear napsal(a):

Děkuji, upravil jsem to a nyní v BaseModelu volám:

Environment::getConfig('database');

Vrací však NULL :-(, tušíš, kde dělám chybu?

A v boostrap.php \Nette\Environment::loadConfig(); máš?

Mám tam:

$configurator = new Configurator;
$configurator->loadConfig(dirname(__FILE__) . '/config.neon')

Tak jsem pod to přidal:

\Nette\Environment::loadConfig();

A již vše ok , děkuji hodně moc …

Editoval badbear (5. 6. 2011 23:17)

iqtq
Člen | 20
+
0
-

No, pokud si načítal config pomocí Environment tak mu ty hodnoty musíš načíst. To co si v bootstrapu měl/máš je součást DI a o tom se dočteš víc tady na fóru – mimo jiné se nepoužívá Environment, ale $this->context.

Editoval iqtq (5. 6. 2011 23:22)

22
Člen | 1478
+
0
-

Vzhledem k tomu, že Environment je od dneška @deprecated, tak bych ho tam už moc nedával :-)

badbear
Člen | 9
+
0
-

Oki, děkuji moc, zkusím se na to podívat …

badbear
Člen | 9
+
0
-
$conn->debug = function($query, $parameters) {
    Panel::getInstance()->logQuery($query, $parameters);
};

Jak toto prosím nahradím v php 5.2 ?

studna
Člen | 181
+
0
-
$conn->debug = Array( Panel::getInstance(), 'logQuery' );

Snad nekecám.

badbear
Člen | 9
+
0
-

Další pro mne průšvih, opět netuším jak to přepsat do php 5.2 :

array_map(function($in) {
	return strtolower($in);
}, $cammelCaseSplit);
voda
Člen | 561
+
0
-

Mělo by stačit:

array_map('strtolower', $cammelCaseSplit);

Ale v PHP 5.3 by to také mělo být takhle, ta anonymní funkce tam je zbytečná.

badbear
Člen | 9
+
0
-

voda napsal(a):

Mělo by stačit:

array_map('strtolower', $cammelCaseSplit);

Ale v PHP 5.3 by to také mělo být takhle, ta anonymní funkce tam je zbytečná.

Chlapi, moc Vám děkuji …