fob / di-aura-filter-module
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=7.0.8
- aura/filter: ^2.3
- fob/formalbears: ^0.1.0
Requires (Dev)
- phpunit/phpunit: ^7.4.4
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-11-24 12:53:56 UTC
README
BEAR.Sunday アプリケーションで Aura.Filter(v2) カスタムルールを使うためのモジュール
- カスタムルールの構成を設定ファイルで定義できる
- サービスのカスタムフィルタークラスにはDI(オートワイヤリング機能)を使うことができる
- FormalBears を使用
Setup
- カスタムフィルターの各サービスクラスはあらかじめ束縛構成済みとする
- モジュールをインストールする
$this->install(new DiAuraFilterModule($this->registry));
Configure
設定ファイルでバリデーターとサニタイザーのカスタムルールを構成定義する。
※さしあたって不要な場合は設定無しで良い。
例:
di_aura_filter:
# バリデーター構成
validate_filters:
# カスタムルール名にクラスを直接指定する場合
app.name_in:
class: 'Fob\DiAuraFilterModuleDemo\Bridge\AuraFilter\NamesValidator'
# カスタムルール名にサービスコールバックを指定する場合
app.kuma_spec:
type: 'callback'
callback: 'Fob\DiAuraFilterModuleDemo\Hello\KumaSpec'
# サニタイザー構成
sanitize_filters:
app.name_mask:
class: 'Fob\DiAuraFilterModuleDemo\Bridge\AuraFilter\NameMaskSanitizer'
Usage
/**
* @var FilterFactory
*/
private $sFilterFactory;
/**
* @Inject
* @Named("sff=fob.aura_filter.service_filter_factory")
*/
public function __construct(\Aura\Filter\FilterFactory $sff)
{
$this->sFilterFactory= $sff;
}
DiAuraFilterModule
クラスのコードを参照。
$this->bind(FilterFactory::class)->annotatedWith('fob.aura_filter.service_filter_factory')->toProvider(ServiceFilterFactoryProvider::class);
$this->bind(SubjectFilter::class)->annotatedWith('fob.aura_filter.service_subject_filter')->toProvider(ServiceSubjectFilterProvider::class);
$this->bind(ValueFilter::class)->annotatedWith('fob.aura_filter.service_value_filter')->toProvider(ServiceValueFilterProvider::class);