> -----Original Message-----
> From: Brad Lorge [mailto:b...@lorge.com.au]
> Sent: Monday, January 31, 2011 9:53 PM
> To: php-general@lists.php.net
> Subject: [PHP] Detecting Multi-Scope Variables
> Hello All,
> I am new to the list so please be gentle :)
> I am working on a PHP framework and have run up against a functionality
> hurdle which I keep falling at. Basically, I have three mechanisms which
> function in a similar way and require this functionality: templating,
> handling and "action handling". Within the core code of the application,
> is common with many applications with plugin architecture, I pass a number
> of parameters to functions which have hooked into a particular "event".
> of the mechanism is that parameters can be passed by reference to allow
> for the listeners to make modifications.
> $username="bob";$account_type="ISV";$password="fishbum";
> register_action_listener('process_user', function($username,
> $account_type, $password){$username.="." . $account_type;} // Or
> whatever
> call_action('process_user', &$username, &$account_type, &$password);
> //Result: $username == "bob.ISV"

I think you meant to use [1].

> Now, what I am trying to do is establish a method to prevent the "hook"
> functions from making changes by reference without reference explicitly
> being passed to them by the calling code.

Perhaps you  should review [2] and see if your logic works with your

> I have thought of a method which simply makes a copy of all the parameters
> for each listener within call_action(), however what I would really love
is a
> function which returns whether or not the supplied variable is available
> multiple scopes or is in the original scope which it was initialized in.
> Does anyone know of a way to achieve this?
> Regards,
> Brad

Happy coding,

[1] http://php.net/call_user_func
[2] http://php.net/references

PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to