Autor | Zpráva | ||
---|---|---|---|
HonzaM Profil * |
#1 · Zasláno: 30. 5. 2012, 19:55:28
No jo, ale tu funkci autoload nevoláš v žádný třídě a přesto tam můžeš používat třídy z jiných souborů. Jak to je možný?
A ještě bych něco potřeboval, mám tento kod: public function AddTextInput($label, $name, array $attributes = null) { return $this->AddElement(new TextInput($name,$attributes), $label); } public function AddElement(Element $element, $label) { $label = new Label($label,$name); $element[$name] = $element; } |
||
Joker Profil |
#2 · Zasláno: 30. 5. 2012, 19:58:18
HonzaM:
„Jak to je možný?“ Viz odkázaný manuál (resp. konkrétněji) You may define an __autoload() function which is automatically called in case you are trying to use a class/interface which hasn't been defined yet. = Můžete definovat funkci __autoload(), která se automaticky zavolá ve chvíli, kdy se snažíte použít třídu nebo rozhraní které ještě nebylo definováno. |
||
Johnik Profil |
#3 · Zasláno: 30. 5. 2012, 20:46:03
Jak jsem již psal, Element může být klidně rozhraní, jde pouze o sjednocení elementů. Jestli nemáš třídu Html, tak ve třídě Element bude jen metoda render. Když ano, tak v ní nebude nic. Není nutné aby v té třídě za každou cenu něco bylo. Nebo tam můžeš dát zjišťování uživatelské hodnoty apod., prostě vše to, co budou mít elementy společné.
|
||
HonzaM Profil * |
#4 · Zasláno: 30. 5. 2012, 20:51:30
Aha no tak já to udělám jako rozhraní. Třídu html jsem zatím zrušil a na renderování udělám novou třídu a budu vytvářet její instanci ve Form
|
||
Časová prodleva: 12 let
|
0