jak získat název databáze z neon.config
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- mkoubik
- Člen | 728
Konstanty se nedají nastavovat v runtimu. Nastav si to jako parametr a pak si to předej kam potřebuješ.
parameters:
database_name: test
nette:
database:
dsn: "mysql:host=localhost;dbname=%database_name%"
user:
password:
services:
- App\Model\FooRepository(%database_name%, ...)
Editoval mkoubik (10. 6. 2014 22:53)
- Oli
- Člen | 1215
Proc nedas nazev databaze rovnou do configu?
nette:
database:
dsn: 'mysql:host=127.0.0.1;dbname=test'
user:
password:
options:
lazy: yes
Btw. ja teda nikdy nepracuju v aplikaci s názvem databáze. Pracuju vždy s repository/entitama, který mají injectunejt Context. Takže název databáze si nastavíš v configu a pak už tě nikdy nezajímá.
- Oli
- Člen | 1215
qteck napsal(a):
nicméně, pokud bych chtěl pracovat s databas name jako z proměnnou někde ve scriptu, dá se to něják jednoduše? třeba $název_db = config_neon(array(parametrs=>database)) ?
Přesně to ti napsal mkoubik. Má tam db name jako parametr
a vložil ho do App\Model\FooRepository
. Tam s tím můžeš potom
pracovat jako s normálním stringem.
public function __construct($dbName)
{
dump($dbName); // vypíše "test" (název databáze)
}