» Details |
---|
|
» Comment |
Here are some suggestions: You can fill $this->data defaults in the properties of your class instead of the constructor since you are just extending Input that does nothing with them. (Like what you did for attributes). $sessionPrefix could be set using the $data parameter. The question should probably be the label ->setLabel() Or maybe you should extend Container instead (my recommandation if you find a way to do that, it's more flexible because then you can use the dom like api to change the elements) and use $this->addStatic() and $this->addText() depending on the elements you want to add. I don't think it is a very good idea to add a div around these elements, this should probably be left to the renderer. If you use a Container, you can also use $attributes in the constructor instead of $this->data['captchaHtmlAttributes']. Remember that all the elements extend HTML_Common2 that has utility methods to deal with attributes. Recaptcha doesn't seem to need a session, maybe you should treat it as a totally different element on its own instead of a subclass of Captcha. Nevertheless, it is all useful as is, good work. |