Вот что я хочу сделать:
$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.
Счастлив сейчас?