在 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
}
显然,这不是我实际要做的,但基本上我有一个未知的类名称,并且基于名称,我想生成具有某些属性的类等。
我尝试过使用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。
现在开心吗?