相关疑难解决方法(0)

在php中运行时动态生成类?

这就是我想要做的事情:

$clsName = substr(md5(rand()),0,10); //generate a random name
$cls = new $clsName(); //create a new instance

function __autoload($class_name)
{
  //define that instance dynamically
}
Run Code Online (Sandbox Code Playgroud)

显然这不是我实际做的,但基本上我有一个类的未知名称,并根据名称,我想生成具有某些属性等的类.

我已经尝试过使用eval(),但它让我更适合私人和$ this->引用......

//编辑

好吧,很明显,我的短暂和甜蜜的"这就是我想做的事情"在那些可能提供答案的人中引起了巨大的冲突和惊愕.为了得到一个真正的答案,我会更详细.

我有一个验证框架,使用我维护的网站上的代码提示.每个函数都有两个定义

function DoSomething($param, $param2){
   //code
}
function DoSomething_Validate(vInteger $param, vFloat $param2){
   //return what to do if validation fails
}
Run Code Online (Sandbox Code Playgroud)

我想在我的数据库中为主键添加验证器.我不想为每个表创建一个单独的类(203).所以我的计划是做类似的事情

function DoSomething_Validate(vPrimaryKey_Products $id){ }
Run Code Online (Sandbox Code Playgroud)

__autoload将生成vPrimaryKey的子类并将table参数设置为Products.

现在开心?

php code-generation proxy-classes dynamic-compilation

29
推荐指数
5
解决办法
3万
查看次数