这是我想要做的:
$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
}
显然这不是我实际在做的事情,但基本上我有一个类的未知名称,并且基于名称,我想生成具有某些属性等的类。
我尝试过使用 eval() ,但它让我很适合私人和 $this-> 引用......
//编辑
好吧,显然我简短而甜蜜的“这就是我想做的”在那些可能能够提供答案的人中引起了巨大的冲突和惊愕。希望得到一个实际的答案,我会更详细。
我在我维护的网站上有一个使用代码提示的验证框架。每个函数有两个定义
function DoSomething($param, $param2){
//code
}
function DoSomething_Validate(vInteger $param, vFloat $param2){
//return what to do if validation fails
}
我正在寻找为我的数据库中的主键添加一个验证器。我不想为每个表(203)创建一个单独的类。所以我的计划是做类似的事情
function DoSomething_Validate(vPrimaryKey_Products $id){ }
__autoload 将生成 vPrimaryKey 的子类并将表参数设置为 Products。
现在开心?