Bu üretim kodunda Yansıma kullanmak hatalı mı?

0 Cevap php

Ben tüm doğrulama yöntemlerini içeren bir Validations sınıfının bir örneğini oluşturur bir Validator sınıf var. Bir doğrulama işlemi gerçekleştirildiğinde, __call in Validator bir çağrı Validator->validate_method to Validations->method göndermek için kullanılır.

Bu yüzden, örneğin, Validations denilen bir yöntem yoktur length_of. Aşağıdaki kodu çalıştırdığınızda:

$v = new Validator();
$v->validate_length_of(...);

Validations sınıfındaki length_of doğrulama yürütülür.

Sağlamak amacıyla bu __call I ReflectionMethod Belirtilen yöntem kontrol etmek için kullanmak, geçersiz veya halka açık olmayan Validation yöntemine gönderme deneyin:

$method = new ReflectionMethod($this->validations, $validation_method);
if (!$method->isPublic())
{
  // error
}

Ben bu bir yöntem public olup olmadığını belirlemek için tek yol olduğuna eminim, ama Yansıma üretim kodunda olması uygun olup olmadığından emin değilim. Bu kod koku var mı?

0 Cevap