动态创建类功能?

Jas*_*onS 1 php oop

我有一个需要改进的验证课程.如果我需要一些自定义验证,我需要指定一个自定义函数.它有点像这样:

  1. 控制器告知验证需要自定义验证功能.
  2. 控制器运行验证.
  3. ---在这里获取iffy ---
  4. 验证类创建控制器类的新实例....
  5. 验证类运行controller-> custom_validation_function()
  6. 验证类返回true/false

在某种程度上我可以改变它来做这样的事情吗?

$validation = new validation;
// Insert rules here.
$validation->function() = $this->function();
Run Code Online (Sandbox Code Playgroud)

通过这样做,我可以摆脱创建不需要的类实例的步骤.

Gor*_*don 6

您将需要使用策略模式.为每个要执行的验证设置Validator类,然后根据需要在使用类中实例化此类.然后将验证委托给验证器实例.

看看Zend Framework如何为一个想法做到这一点.
另请参阅我对此相关问题的答案中给出的示例: