Ben çözemedim bir sorun var.
Ben küçük bir çerçeve (uygulama) inşa ediyorum ve şimdi Validator kütüphane inşa ediyorum. her şey "geri" kuralı düzeltmek için çalışırken dışında mükemmel çalışır. Dev Validator lib var olmayan bir kural kullanmak gerektiğinde geri çağırma kuralı kullanılır ..
İşte ben bunu yapıyorum nasıl.
Denetleyicisi:
$this->validator->check('req|callback:test', $_POST['module_name'], 'Module Name');
Validator Sınıf:
public function check($rules, $input, $fieldname='') {
$rule = explode('|', $rules);
foreach ($rule as $r) {
$request = explode(":",$r,2);
$method = array_shift($request);
$parameter = $request;
array_unshift($parameter,$input);
array_push($parameter,$fieldname);
if (method_exists($this, $method)) {
call_user_func_array(array($this,$method), $parameter);
}
}
protected function callback($input, $key, $fieldname='') {
}
Benim sorun nasıl "geçerli" denetleyicisi kullanabilirsiniz olmasıdır. Örneğin, bu durumda ben bulmak gerekir:
UserController::test();
Ben $ anahtarında doğru yöntemi bulabilirsiniz ama yuvarlanan wich denetleyicisi anlamaya basit bir yolu var mı?
Ben gibi url kullanmaya çalıştı:
$controller = ucfirst($uri->uri[1]).'Controller';
$controller::$key();
Ama .. tüm Herhangi bir fikir işe yaramadı?