nastavenie pripojenia nette/database

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

Zdravim,

stiahol som najnovsiu verziu Nette Nette Framework 2.0-beta pro PHP 5.2 a snazim sa tam rozbehat databazu. Len netusim kde nastavit pripojenie k nej. Ako priklad – Sign:in by malo vyuzivat vstavanu databazovu vrstvu, len nikde netusim, kde jej nastavit prihlasovacie udaje. Hladam na fore, v zdrojakoch a nic. dakujem za radu

japlavaren
Člen | 404
+
0
-

tak nakoniec som to nasiel v config.neon – dokazem nejako jednoducho prepisat vlastnosti pre vyvojovu a produkcnu masinu? je to tam ako:

<?php
common:
	services:
		database:
			arguments: ['mysql:host=localhost;dbname=test', 'user', 'password']
?>

nic ine ako

<?php
development < common:
	services:
		database:
			arguments: ['mysql:host=localhost;dbname=test', 'root', '']
?>

ma nenapada

Aurielle
Člen | 1281
+
0
-

Ani mi není známo, že by byl jiný než tebou uvedený zápis možný.

japlavaren
Člen | 404
+
0
-

je to tak skaredo napisane, zabera to 3 riadky a to sa mi nepaci

be-online
Člen | 50
+
0
-

tobe to mozna prijde skaredo napisane ale tak se to pouziva … pokud se ti to nelibi , muzes pouzit stary nonNEON zapis … config.ini ale tim si zbytecne pridelas praci … ja si na tenhle skaredy zapis taky zvykl a nakonec mi prijde pekny …

22
Člen | 1478
+
0
-

si budeš muset napsat svůj vlastní config parser v tom případě :-)
btw nějak nechápu, z čeho se ti ta service vlastně vytváří, když tam máš jen argumenty???? To ti jako jak funguje?

heekon
Člen | 28
+
0
-

neco jsem popsal tady, posledni prispevek …
https://forum.nette.org/…sql-databazi

japlavaren
Člen | 404
+
0
-

vychadzam z toho co je v sandbox v najnovsej verzii nette.

objavil som teraz jednu zvlastnost – v example je priklad "cd collection
zaujimave je, ze ak zmenim SQLite db na MySQL v neone, tak to zacne hadzat chybu. pritom by malo byt vsetko ok:

<?php
arguments: [sqlite2:%appDir%/models/demo.db]
?>

na

<?php
arguments: ['mysql:host=localhost;dbname=test', 'root', '']
?>

hodi to
PHP Notice: Uninitialized string offset: 0 in C:\wamp\www\NetteFramework-2.0beta-PHP5.2\Nette\DI\ContainerBuilder.php(50) : runtime-created function:2
co vobec netusim co moze robit. schvalne to skuste

bojovyletoun
Člen | 667
+
0
-

To notice je zřejmě tento bug: (dal jsem pull )

$expander = function(&$val) use ($container) {
	if (!$val) return; // toto přidat
	$val = $val[0] === '@' ? $container->getService(substr($val, 1)) : $container->expand($val);
};
japlavaren
Člen | 404
+
0
-

v 5.2 som z povodneho

<?php
$arguments = isset($definition['arguments']) ? $definition['arguments'] : array();
$expander = create_function('&$val', 'extract(NClosureFix::$vars['.NClosureFix::uses(array('container'=>$container)).'], EXTR_REFS);
	$val = $val[0] === \'@\' ? $container->getService(substr($val, 1)) : $container->expand($val);
');
?>

prepisal na

<?php
$arguments = isset($definition['arguments']) ? $definition['arguments'] : array();
$expander = create_function('&$val', 'extract(NClosureFix::$vars['.NClosureFix::uses(array('container'=>$container)).'], EXTR_REFS);
	if (!$val) return;
	$val = $val[0] === \'@\' ? $container->getService(substr($val, 1)) : $container->expand($val);
');
?>

bohuzial to nepomohlo a tvari sa to ako by to ani nevolalo pomohlo, upravoval som iny script

Editoval japlavaren (29. 6. 2011 10:50)