neon nastavení třídy a jejich proměnných pomocí __set

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

Ahoj,

jak mohu v neounu nastavit třídu a její properties. Pokud použiju místo __set normální proměnné tak to funguje, ale potřebuju to obecně.

KomunikaceOdeslatSettings:
		class: KomunikaceOdeslatSettings
		setup:
			- [setBar, ['bar']]
#			- setParam1(aa)
#			- setParam2(bb)
class KomunikaceOdeslatSettings
{

    private $properties = array();

    function __set($name,$value)
    {
        $this->properties[$name] = $value;
    }

    function __get($name)
    {
        return $this->properties[$name];
    }
}

Jde mi o vytvoření obecné třídy předávající nastavení do modelu.

Děkuji za radu.

Jan Endel
Člen | 1016
+
0
-

Nemůžeš rovnou model vytvářet v configu nák takto:

parameters:
	foo: "bar"
	bar: "baz"
	simpsons:
		dad: "Homer"
		mother: "Marge"

services:
	- MyApp\Foo\Bar(%foo%, %bar%, %simpsons.dad%)

?

lpq
Člen | 10
+
0
-

Model vytvářím takto:

komunikaceOdeslat:
		create: KomunikaceOdeslatModel(@doctrine.dao("Entities\\KomunikaceOdeslatEntity"),@KomunikaceOdeslatSettings)

chtěl jsem použít obecnou třídu protože mi to příde lepší než pole nebo nastavováním více parametrů.

Jan Endel
Člen | 1016
+
0
-

Ano, to můžeš udělat stejně, ten MyApp\Foo\Bar může být klidně ta třída Settings, btw nemíchej dohromady české a anglické názvy, vypadá to, jako by si někdo právě nablil do krku.