News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Jani Hartikainen's Blog:
Practical uses for reflection
February 17, 2009 @ 10:22:36

Reflection can be a handy tool when you need it, but how many times have you actually found a use for it in the past few applications you've written? Jani Hartikainen has one suggestion of a place it can be used - form generation.

Most web applications use forms. Forms often represent some model, such as a news post. If the model is simple, writing the form in HTML is not too bad, or we might be able to use a scaffolding feature in our framework. [...] Here's a good use for reflection! Since in models we often have a naming scheme for the data the users would be able to input, we can utilize this knowledge with reflection to generate a list of possible fields in the model, and then generate the form with less typing required from us.

His example looks into the model class and pulls out the "get" functions and, after pulling out the name, adds it to a fields array. This array is then passed out to the display part of the script and looped over to create a text field for each. He expands it a bit to also include checking for "@return" values in docblock comments for the type of form field that should be displayed.

1 comment voice your opinion now!
reflecton api form generation practical suggestion model view


blog comments powered by Disqus

Similar Posts

ThinkingPHP: Google Analytics PHP API (CakePHP Model)

PHPRiot.com: Translating Text Using the Google Translate API and PHP, JSON and cURL

Lorna Mitchell's Blog: Gthub API: Issues List

Total PHP: Browser based template editor

PHPMaster.com: The MVC Pattern and PHP, Part 1


Community Events





Don't see your event here?
Let us know!


interview zendserver series laravel code framework language list conference community symfony introduction bugfix api voicesoftheelephpant threedevsandamaybe deployment tips podcast release

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework