Chyba v Nette\DI\Container->expand

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

Zdravím,

pokud nemám mylné informace :), mohu v configu předat službě přímo parametr z jiné části, názorná ukázka:

...
  anotherService:
     	 class: Foo\Bar\ServiceClass
         arguments:
            - %one.two%
            - %one.three%
...
development:
  one:
    two: foo
    three: bar

Nette to správně rozloží, fce expand překonvertuje parametry v ArrayHash na array, ale jen první úroveň. Díky tomu Nette\Arrays::get selže na 47 řádku → is_array.

Napadají mě 3 řešení:

  1. přetypovat komplet ArrayHash na array v expand
  2. upravit Nette\Arrays aby uměl pracovat i s ArrayHash (či přímo ArrayAccess)
  3. přetypovávat v Nette\Arrays::get na array

Jaký je váš názor?