Zdravím,
... doufám že nebudu označen za spamera (2 posty behem 10 minut) :)
Pročítám si tu nedávné téma
"Oop v praxi" a zastavil jsem se u
jednoho příspěvku
Přivedlo mě k jedné myšlence, a zajímal by mě názor ostatních...
Do teď, když jsem pracoval s třídami, pracoval jsem tímto způsobem
$class = new myClass;
$class->setValue('text', 'Hello word');
$calss->setTag('strong');
echo $class->write();
Když jsem četl výše odkázanou reakci a trochu jsem o tom přemýšlel, nemůžu říct že by to byla bůh ví jaká myšlenka, ale napadlo mě jiné řešení.
Předat všechno co chci už při inicializaci třídy a pak automaticky vypsat inicializovanou proměnou.
Když ukáži na stejném příkladu
$class = new myClass(array('text' => 'Hello word', 'tag' => 'strong'));
echo $class
Není do doladěné, způsob předávání parametrů by se dal upravit, toto asi nebude ideální zápis ale pro pochopení toho, o čem přemýšlím je to snad dostačující.
Přemýšlel jsem o výhodách a nevýhodách tohoto řešení a nejsem si jist, jestli jsou závěry správné, ale přece...
Výhoda:
Přijde mi, že by funkce byla "bezpečnější" jediná veřejně přístupná část by byla inicializace třídy zbytek metod a vnitřních pochodů by mohl zůstat skryt a z venčí nepřístupný
Nevýhoda:
Pokud bych potřeboval funkci volat i jinde a víckrát nepřijde mi toto řešení ideální inicializovat pořád dokola tu samou třídu je nesmysl, ale dalo by se to řešit ještě jednou volně přístupnou funkcí, které by jsem říkali co vlastně chceme vrátit...
Ale jak jsem řekl, zajímal by mě názor zkušenějších, při svých znalostech oop bych se nedivil kdyby to byla holá kravina....
1. 9. 2011 14:18:52