Zend Framework Özel Filtreler / Doğrulayıcıları

1 Cevap php

Ben aşağıdaki gibi bir Zend Framework uygulama yapıya sahiptir:

/application
/library
    /Zend
    /Core
        /Filter
            /MyFilter.php
        /Validator
            /MyValidator.php

Ben kendi klasörlerinde özel filtreler ve doğrulayıcılar koymak ve kullanıldığında bunları otomatik olarak yüklenen istiyorum. Ancak, ben en iyi bu başarmak için nasıl anlamaya olamaz.

Ben bu şekilde Zend_Filter_Input çalışmak için bir çözüm gerekir:

$filters = array(
    'month'   => 'Digits',
    'account' => 'StringTrim',
    'other'   => 'MyFilter'
);

$validators = array(
    'account' => 'Alpha',
    'other'   => 'MyValidator'
);

$inputFilter = new Zend_Filter_Input($filters, $validators);

Ben zaten biliyoruz:

  • Core_Filter_MyFilter Zend_Filter_Interface uygular
  • Açıkçası, filtreler ve validators benim yolu dahil zaten.

1 Cevap

Ben Zend_Filter_Input tasarlanmış ve uygulanmıştır.

Size özel filtre ve validator sınıfları yüklemek için yeni sınıf prefix ekleyebilirsiniz. Varsayılan olarak, Zend_Filter_Input önek "Zend_Filter" ve "Zend_Validate" sahip sınıflar için arar. Bu deneyin:

$inputFilter->addNamespace('Core_Filter');

Eğer isValid () ya da nesnenin diğer yöntemleri çalıştırmadan önce.

Alternatif olarak, aynı zamanda Zend_Filter_Input kurucu, seçenekler dizisinin dördüncü argüman yeni bir sınıf önek dize iletebilirsiniz:

$options = array('inputNamespace' => 'Core_Filter');
$inputFilter = new Zend_Filter_Input($filters, $validators, $data, $options);

Ayrıca bakınız documentation Ben Zend_Filter_Input için yazdım.