开发者

how to invoke function writen in a validation.php and stroe all function name in database

Respected all, i'm in trouble. I created a file with name validation.php and store all my validation functionality in this file with different function names like,

check_textbox(parm1, pram2, pram3, pram4) { // Definition here }

check_chkBox(parm1, pram2) { // Definition here }

and so on.....!

then i created a table in mysql with the name tbValidation and stored all the function name with parameters in a table. the record stored in table look like as:

interfaceid---------- functionNameWithReturnValue

1 ------------ check_textbox(parm1, pram2, pram3, pram4) = 1

2 ------开发者_如何学Python------ check_textbox(parm1, pram2, pram4) = 0

3 ------------ check_textbox(parm1, pram2, pram4) = 1) AND (check_chkBox(parm1, pram2)=0)

when i fetch record from database i want to invoke those functions that store in validation.php

$data = mysql_fetch_array($drow);       

if($db->row_count > 0)

{

       // when i fetch row one from database. I used this one but not working

       // @ $data[0] have value "check_textbox(parm1, pram2, pram3, pram4) = 1"


       if($data[0])
       {
          // Do this
       }


}

How i can do this task...? :(


First thing is to make your validation.php file visible from the file your are executing:

// doc: http://it.php.net/manual/en/function.require-once.php
require_once("validation.php");

Then you have a choice:

// case 1: use function eval (http://php.net/manual/en/function.eval.php)
// this will work if the parameter names stored as code in db are actually defined
eval("\$ret = $data[0];");

// case 2: use function call_user_func (http://php.net/manual/en/function.call-user-func.php)
// this if you extract the function name, and then need to programmatically manage the parameters
call_user_func(function_name, parameters...);

Using the eval function has a lot of drawbacks though (bad performance, hard maintenance and readability of code, probably it is a symptom of bad design).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜