Вот что я хочу сделать:Динамически генерировать классы во время выполнения в 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-> ссылки ...
// редактировать
Ok, очевидно, мой короткий и сладкий «вот что я хочу сделать» вызвал ма сильная борьба и страх среди тех, кто может дать ответы. В надежде получить реальный ответ я буду более подробно.
У меня есть структура проверки, использующая подсказки кода на сайте, который я поддерживаю. Каждая функция имеет два определения
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 и установите параметр таблицы на продукты.
С большим удовольствием?
Предлагаю вам рассказать нам, что именно вы пытаетесь сделать, и спросить нас, как это сделать лучше. То, что вы пытаетесь, является неправильным подходом. – hobodave
Я поддержал это, поэтому у него не было отрицательного голоса. Это правильный вопрос, даже если это плохая идея. – MitMaro
Я обновил вопрос. –