İşte yapmak istediğim şey:
$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
}
Açıkçası bu aslında ne yapıyorum değil, ama temelde bir sınıf için bilinmeyen isimler var ve adına göre, ben bazı özellikleri vb ile sınıf oluşturmak istiyoruz
Ben eval kullanarak denedim () ama o beni özel ve $ this-> referanslar üzerinde uyuyor veriyor ...
/ / Düzenle
Tamam, belli ki benim kısa ve tatlı cevaplar sağlamak mümkün olabilir olanlar arasında büyük fitne ve şaşkınlık yarattı "Burada yapmak istediğim buydu". Gerçek bir cevap alma umuduyla ben daha ayrıntılı olacak.
Ben korumak sitede kod ipuçlarını kullanarak bir doğrulama çerçeve var. Her bir fonksiyon iki tanımları var
function DoSomething($param, $param2){
//code
}
function DoSomething_Validate(vInteger $param, vFloat $param2){
//return what to do if validation fails
}
Benim veritabanında birincil anahtarlar için bir doğrulayıcı eklemek için arıyorum. HER tablo (203) için ayrı bir sınıf oluşturmak istemiyorum. Yani benim planı gibi bir şey yapmak oldu
function DoSomething_Validate(vPrimaryKey_Products $id){ }
__ Özdevinimli_yükle vPrimaryKey bir alt sınıfı oluşturmak ve Ürünleri tablo parametresini ayarlayın nerede.
Şimdi mutlu musun?