InputFilterAwareInterface와 InputFilterProviderInterface의 차이점을 설명 할 수 있습니까? 두 가지 모두 InputFilter를 얻으려는 목적과 동일한 목적을 갖고있는 것처럼 보입니다. 그러나 나는 똑같을 수는 없다는 것을 알고 있습니다 ... 언제 전화를 받습니까?ZF2의 InputFilterAwareInterface와 InputFilterProviderInterface의 차이
감사합니다.
InputFilterAwareInterface와 InputFilterProviderInterface의 차이점을 설명 할 수 있습니까? 두 가지 모두 InputFilter를 얻으려는 목적과 동일한 목적을 갖고있는 것처럼 보입니다. 그러나 나는 똑같을 수는 없다는 것을 알고 있습니다 ... 언제 전화를 받습니까?ZF2의 InputFilterAwareInterface와 InputFilterProviderInterface의 차이
감사합니다.
두 인터페이스가 다른 목적으로 존재합니다. InputFilterAwareInterface은 구현 클래스가 setInputFilter()
및 getInputFilter()
메서드를 사용하여 InputFilter 인스턴스를 받아 들여 반환 할 것을 보장합니다. 한편, InputFilterProviderInterface은 구현 된 클래스가 다양한 입력 팩토리에서 인수로 사용할 준비가 된 필터 스펙 (구성 배열)을 리턴하는 getInputFilterSpecification()
메소드를 가질 것임을 보장합니다.
예 : 당신이 볼 수 있듯이
if ($fieldset === $this && $fieldset instanceof InputFilterProviderInterface) {
foreach ($fieldset->getInputFilterSpecification() as $name => $spec) {
$input = $inputFactory->createInput($spec);
$inputFilter->add($input, $name);
}
}
, Form 클래스 입력을 생성하고 구현하는 클래스의 getInputFilterSpecification()
방법 ($ FIELDSET INT이 경우에 의해 반환되는 주어진 사양을 사용하여 관련 필터를 결합 : 코드 조각 아래 Zend\Form\Form.php
클래스에서 온). 특색
젠드 프레임 워크 (2)를 사용
는또한 일반적으로 사용되는 인터페이스의 특성을 많이 제공합니다. 예를 들어 InputFilterInterface의 경우 InputFilterAwareTrait입니다. 당신이 상상할 수 있듯이
$myClass->setInputFilter($AnInputFilterInstance);
$myClass->getInputFilter(); // Returns an inputfilter instance.
가 어떤 특성이 존재하지 : 이것은 당신이 PHP가> = 이제 어디서나 코드에서 5.4
namespace MyNamespace;
use Zend\InputFilter\InputFilterInterface;
MyClass implements InputFilterInterface {
// Here is the trait which provides set and getInputFilter methods
// with a protected $inputFilter attribute to all MyClass instances.
use \Zend\InputFilter\InputFilterAwareTrait;
// Your other methods.
...
}
을, 당신이 할 수있는 경우에 당신은 쉽게 그 인터페이스를 구현할 수 있습니다 의미 InputFilterProviderInterface는 책임이 유효한 구성 사양 만 반환하기 때문에 발생합니다. InputFilterInterface에서 강제되는 것과 같은 인스턴스 또는 클래스 속성은 처리하지 않습니다.