Autor | Zpráva | ||
---|---|---|---|
Shadowek Profil |
#1 · Zasláno: 5. 9. 2010, 11:04:47
Promiňte za nadpis, ale bohužel mě nenapadlo jak tento problém lépe popsat.
Mám objekt: class command{ public $name; public $description; public $manual; //... public function odpoved(){ //obsah funkce } } Potřeboval bych funkci odpoved upravit unikátně pro každou jeho instanci. Něco jak nastavuji hodnotu proměnné, ale zde by šlo o funkci. Abych mohl prostě měnit co daná funkce udělá. Šlo by to nějak udělat? |
||
Nox Profil |
#2 · Zasláno: 5. 9. 2010, 11:26:45 · Upravil/a: Nox
co to má konkrétně za účel? průběh a výsledek funkce lze měnit jejími parametry ( opoved(argument, argument...argument) ) a vlastnostmi objektu ($this->property)
jinak šlo by volat teoreticky pracovat s funkcí ( http://cz.php.net/manual/en/functions.anonymous.php ) nebo názvem funkce ( http://cz.php.net/manual/en/functions.variable-functions.php ), ale nevim jestli není u objektů nějaký problém, mám pocit že se to někde řešilo, ale nevybavuji si podle čeho hledat |
||
Shadowek Profil |
#3 · Zasláno: 5. 9. 2010, 12:17:24
No já jsem chtěl mít array instancí objektů command, kterou bych procházel foreachem a pokud by určitý zadaný string prošel regulárem v proměnné v instanci objektu provedla by se funkce odpoved() co je také uvnitř toho objektu, ale potřeboval bych aby u každé instance to mohlo dělat něco jiného.
|
||
Nox Profil |
#4 · Zasláno: 5. 9. 2010, 12:26:02
doufal sem v o něco konkrétnější, ale viděl bych to něco jako
abstract class command{ public $name; public $description; public $manual; abstract public function reponse(); // proč název a vlastnosti anglicky a metoda česky? } class commandUpdateItem extends command{ public function response(){ ... } } (...) atp. class commandHandler{ protected static $commands; public static function registerCommand(){...} public static function execute($string) } |
||
Shadowek Profil |
#5 · Zasláno: 5. 9. 2010, 12:32:05
Protože sem si v tu chvíli nevzpomněl jak se to řekne :D. No a tak jsem to právě nechtěl. Chtěl jsem upravit funkci v jednotlivé instanci a né vytvořením dalšího objektu.
|
||
Časová prodleva: 14 let
|
0