Ik maak gebruik van de PEAR HTML_QuickForm class.
Voor degenen die hier niet mee bekend zijn, deze 'class' maakt het een stuk simpeler en makkelijker om HTML formulieren te gebruiken, te valideren en te verwerken zoals bijv het onderstaande script:
Een van de methodes van de class is proces(). zoals de naam al doet vermoeden verwerkt deze de gegevens die het formulier oplevert. Nu staat in de documentatie dat ik de process methode moet 'override'-en. Normaal gesproken is er sprake van overriding door een nieuwe klasse aan te maken die de HTML_QuickForm classe extends en hierbinnen een nieuwe process() methode te schrijven.
Mijn vraag is of ik hiervoor echt een nieuwe klasse moet aanmaken of dat ik binnen de huidige script de functie kan overschrijven door bijv zoiets te doen:
Nu weet ik dat mijn voorbeeld niet echt juiste code is maar ik hoop dat het idee duidelijk is.
Kan ik gewoon binnen het huidige script de nieuwe classe maken en hierin de methode overschrijven? Of moet ik een externe classe aanmaken.
Alvast bedankt voor hulp.
PS. Geef me aub geen RTFM. De documentatie van de PEAR repositories laat de wensen over (niet dat ik klaag want mijn probleem is meer een algemeen PHP geval). Maar ook de doorgaans zo volledige php.net liet me bij dit geval in de steek. Menigeen andere PHP sites konden me ook niets vertellen. Misschien is dit wel zo basis OOP dat ik het zou moeten weten maar is helaas niet het geval.
Voor degenen die hier niet mee bekend zijn, deze 'class' maakt het een stuk simpeler en makkelijker om HTML formulieren te gebruiken, te valideren en te verwerken zoals bijv het onderstaande script:
PHP:
1
2
3
4
5
6
7
8
9
| $form = new HTML_QuickForm('frmTest', 'POST'); $form->addHeader('Test'); $form->addElement('text', 'textTest', 'Test Text:'); $form->addElement('submit', 'isubTest', 'Test Submit'); if ($form->validate()) { $form->process(); } |
Een van de methodes van de class is proces(). zoals de naam al doet vermoeden verwerkt deze de gegevens die het formulier oplevert. Nu staat in de documentatie dat ik de process methode moet 'override'-en. Normaal gesproken is er sprake van overriding door een nieuwe klasse aan te maken die de HTML_QuickForm classe extends en hierbinnen een nieuwe process() methode te schrijven.
Mijn vraag is of ik hiervoor echt een nieuwe klasse moet aanmaken of dat ik binnen de huidige script de functie kan overschrijven door bijv zoiets te doen:
PHP:
1
2
3
| function $form->process() { //formulier gegevens opslaan in db } |
Nu weet ik dat mijn voorbeeld niet echt juiste code is maar ik hoop dat het idee duidelijk is.
Kan ik gewoon binnen het huidige script de nieuwe classe maken en hierin de methode overschrijven? Of moet ik een externe classe aanmaken.
Alvast bedankt voor hulp.
PS. Geef me aub geen RTFM. De documentatie van de PEAR repositories laat de wensen over (niet dat ik klaag want mijn probleem is meer een algemeen PHP geval). Maar ook de doorgaans zo volledige php.net liet me bij dit geval in de steek. Menigeen andere PHP sites konden me ook niets vertellen. Misschien is dit wel zo basis OOP dat ik het zou moeten weten maar is helaas niet het geval.
[ Voor 6% gewijzigd door spazmaster op 21-12-2002 00:59 ]