Autor Zpráva
jiri90
Profil *
Mám funkci, které potřebuji předat asociativní pole hodnot tak, aby uživatel funkce věděl, jaké klíče v poli předat, aniž by zkoumal definici funkce. Řeší se to na úrovni formálních parametrů? Nebo nějak v dokumentačních komentářích. Jde mi jednoduše o to, aby vývojové prostředí napovídalo - "funkce chce jako parametr pole s těmito názvy klíčů".
DJ Miky
Profil
Na úrovni syntaxe toho docílit nejde, maximálně lze vnutit, že typ argumentu má být pole (tomu se říká type-hinting). Nelze vnutit, že má být asociativní a že musí obsahovat konkrétní klíče, jinak, než je popsat dokumentačním komentářem. Nicméně nevím o tom, že by existoval standardní způsob, jak zapsat konkrétní klíče tak, aby tomu nějaké vývojové prostředí rozumělo. Ono to někdy totiž zavání špatným návrhem – buď nelogickým spojováním více parametrů do jednoho nebo používáním asociativního pole místo objektu. V objektu je přítomnost konkrétních složek zaručena, případně si můžeš vynutit další omezující podmínky na hodnoty (pomocí konstruktorů a setterů).
jiri90
Profil *
DJ Miky:
Přemýšlím totiž nad tím, jak předat z controlleru atributy 'name' formulářů do modelu, kde se tyto 'names' používají pro práci s databází. Ten model přijímá tyto parametry jako asociativní pole a očekává předem dané 'name' (pevně zadrátované v modelu) jedlotlivých prvků formuláře. No a člověk, který tento model používá se musí podívat do definice modelu, aby věděl, jak má následně pojmenovat jednotlivé prvky formuláře.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: