NYCPHP Meetup

NYPHP.org

[nycphp-talk] Dynamically write functions

Frank Wong frank_wong2 at informationideas.com
Thu May 12 18:39:28 EDT 2005


csnyder wrote:

>On 5/12/05, Frank Wong <frank_wong2 at informationideas.com> wrote:
>  
>
>>I want to do something like the following:
>>-------------------------------------------------
>>function write_globals() {
>>    $output = 'global bar1, bar2;'
>>    return $output;
>>}
>>function foo1 () {
>>    write_globals();
>>
>>    // code
>>}
>>    
>>
>
>Not sure exactly what the goal is, and there may be a much better way
>to do it, but if I understand correctly then this might work:
>
>  
>
Well, what I have are some global variables that is set in a global 
include file.  I need to use them within my functions.  The problem I 
have been faced with is that once in a while my code changes require a 
new global variable.  I find myself going into every function to add 
'global $bar1;'.  My thinking was that if I had a function that wrote 
all my global vars, the next time a new global is introducted all I have 
to do is modify the write_globals() function.

>function write_globals() {
>  $command = ' global $bar1, $bar2; '; 
>  return $command;
>}
>function foo1() {
>  $command = write_globals();
>  eval( $command );
>
>  // code
>}
>
>  
>
Aha, eval is what I was missing.  I will try that.  Thanks.

>Be extremely careful with eval() to ensure that no user input finds
>its way into the $command string, otherwise somebody could execute
>arbitrary php code within your application.
>
>  
>
Thanks for the reminder on the security issue with eval.  In my case, I 
am safe since I only intend to put globals in my eval.

>Like I said, there's probably a better way to do whatever you are
>trying to do....
>_______________________________________________
>New York PHP Talk Mailing List
>AMP Technology
>Supporting Apache, MySQL and PHP
>http://lists.nyphp.org/mailman/listinfo/talk
>http://www.nyphp.org
>
>
>
>  
>





More information about the talk mailing list