Nette\Database\Connection + config.neon + services + vlastní Router

- toka
 - Člen | 253
 
Chtěl bych se zeptat.
Mám v config.neon nastavené připojení k databázi
prostřednictvím Nette\Database\Connection následovně:
common:
  parameters:
    database:
      driver: mysql
      dbname: dbname
      user: root
      password: heslo
  php:
    date.timezone: Europe/Prague
  nette:
    application:
      errorPresenter: Error
    debugger:
      strictMode: false
    database:
      dsn: "%database.driver%:dbname=%database.dbname%"
      user: %database.user%
      password: %database.password%
  services:
    - Authenticator
    - PagesRepository
production < common:
development < common:
V bootstrap.php mám nadefinovaný vlastní router.
  ...
  $container->router[] = new MyRoute();
  ...
V něm bych potřeboval přistupovat k databázi tak, jako mi přistupují
služby, např. PagesRepository, ale to se mi nijak nedaří –
buď jsem úplně blbej, a nebo jsem úplně blbej.
Když jsem to „naprasil“, tak mi to funguje, ale nejsem s tím
spokojený – používám statické dibi:
  ...
  dibi::connect($options);
  $container->router[] = new MyRoute();
  ...
Vyzkoušel jsem, a routování s pomocí DB funguje tak, jak potřebuji. Ale není implementované tak, jak bych chtěl.
Prosím o radu, jak správně použít, abych mohl využít databáze např.
jako v services.
Díky.

- vvoody
 - Člen | 910
 
Ak nechceš prasiť tak sa inšpiruj v aktuálnom sandboxe. Vytvor si továrničku na router, zaregistruj ju ako službu v configu (tej môžeš predať connection ako ktorejkoľvek inej službe/modelu) a potom zaregistruj službu router ktorá bude vytváraná tou továrničkou.