knplabs / knp-markup-validator-bundle
Provide markup validation for your Symfony2 based projects.
Installs: 48
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 34
Forks: 3
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.3.2
- symfony/framework-bundle: >=2.0.0
This package is auto-updated.
Last update: 2022-09-23 13:39:33 UTC
README
Bundle that provides markup validation functionality to your Symfony2 based projects.
This bundle is in early development state, so any contribution is welcome! ;)
Installation
If you use a deps
file, add:
[KnpMarkupValidatorBundle]
git=http://github.com/KnpLabs/KnpMarkupValidatorBundle.git
target=/bundles/Knp/Bundle/MarkupValidatorBundle
Or if you want to clone the repo:
git clone git://github.com/KnpLabs/KnpMarkupValidatorBundle.git vendor/bundles/Knp/Bundle/MarkupValidatorBundle
Add the namespace to your autoloader
<?php // File: app/autoload.php $loader->registerNamespaces(array( 'Knp\\Bundle' => __DIR__.'/../vendor/bundles', // ... ));
Add MarkupValidatorBundle to your application kernel
<?php // File: app/AppKernel.php public function registerBundles() { return array( // ... new Knp\Bundle\MarkupValidatorBundle\KnpMarkupValidatorBundle(), // ... ); }
Define validators
The first step, after the bundle is installed in your project, is to define validators in your application configuration:
# app/config/config.yml
knp_markup_validator:
default_validator: default
validators:
default:
processor: tidy
It tells to the markup validator extension to create a validator service named
markup_validator.default_validator
using the tidy processor.
The default_validator
tells the extension to create the markup_validator
service which is an alias for the markup_validator.default_validator
one.
You can define as many validators as you want.
Processors
Processors are used by the validator to validate the markup. They are responsible to return an array of warning and error messages.
The bundle provides two processors:
- w3c which uses the validator.w3.org's api
- tidy which uses the tidy binary
If you want to define your own validator, you simply need to create a service
implementing the Knp\Bundle\MarkupValidatorBundle\Validation\ProcessorInterface
with the markup_validator.processor
tag and its name as alias tag attribute.
The extension will create a service for each validator named as follow:
markup_validator.{{ alias }}_processor
.