Skip to content

PHP Functions on the Fly

I’ve been a big of a laggard when it comes around to the latest and greatest in the world of PHP. Only recently have I been using the new functionality of PHP 5.3 even though 5.4 just came out. Today I had an idea for a proof of concept and I thought I’d share it with you today.

PHP Example

class Model {
    public function __call($name, $args) {
        if (is_callable($this->$name)) {
            return call_user_func_array($this->$name, $args);
        }
    }
}

$m = new Model();

$m->hello = function ($name) {
    echo "Hello, {$name}";
};

$m->hello('Andrew');

What this example does is allow me to assign an anonymous function to any public parameter on my object. Then the __call magic method checks to see if that parameter is callable and if so calls it. I could see all sorts of interesting ways of leveraging this functionality. We could create special ways to allow for input and output filters on every one of these parameter functions pretty easily.

Anyway, I thought it was a neat idea.



Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)