note 49568 deleted from function.com-invoke by sobak
| From: | sobak@php.net | Date: | Thu, 24 Nov 2016 20:47:13 +0000 |
| Subject: | note 49568 deleted from function.com-invoke by sobak | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-207614@lists.php.net to get a copy of this message | ||
Note Submitter: tomer at parity-bit dot com
----
Note that if you want to use a string to specify the method to call (e.g. a drop-down list to decide
what to do to a server process) you can do this in three ways.
The first is to use this function, as in <?php com_invoke($obj, $_GET['func']); ?>
That's bad.
The second is to use eval(), as in <?php
eval("\$obj->{$_GET['func']}();"); ?>
That's very very very *very* bad.
The third is to use call_user_func(), as in <?php call_user_func(array($obj,
$_GET['func'])); ?>
That's very good.
Remember to validate the user input against a list of allowed methods if a non-admin is at the
console.
http://php.net/manual/en/function.call-user-func.php