Bir sınıfın örneğini oluşturmak ve bu durumda bunun bir yöntemi çağırmak nasıl?

1 Cevap

Sorun: Ben dinamik bu sınıfın bir sınıf ve bir yöntemini çağırmanız gerekir. Ben olsun tek şey iki dizeleri olduğunu:

$class = "MyClass";
$method = "myMethod";

Nasıl sınıfının bir örnek $ sınıfta belirtilen ve daha sonra $ yöntemi belirtilen bu örneği üzerinde bir yöntemi çağırmak oluşturabilir?

Gibi:

$instance = new MyClass;
$instance->myMethod();

1 Cevap

$instance = new $class;
$instance->$method();

Beklediğiniz gibi. Eğer kullanıcı girişi gibi bu alıyorsun eğer Açıkçası olsa da, sen kabul edilebilir bir listeye karşı sınıf ve yöntem adlarını doğrulamak% 100 emin olmak isteyeceksiniz. Sınıf only public API'ler için ise, o zaman yöntemleri için ayrı bir beyaz liste gerekmez, ama doğrudan kullanıcı girişi içine izin beri kesinlikle, bu yaklaşım zaman% 100 emin olmak gerekir sizin program akışı çok, çok tehlikelidir.