Skip to content

Instantly share code, notes, and snippets.

@spekkionu
Last active August 29, 2015 13:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save spekkionu/8762864 to your computer and use it in GitHub Desktop.
Save spekkionu/8762864 to your computer and use it in GitHub Desktop.
Build Zend\FilterInput as phar
#!/usr/bin/php -dphar.readonly=0
<?php
$srcRoot = realpath(__DIR__."/vendor");
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($srcRoot, FilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::LEAVES_ONLY);
echo "Build ZF Form processing phar\n";
$phar = new Phar(__DIR__.'/zf-form.phar', 0, 'zf-form.phar');
$phar->buildFromIterator($iterator, $srcRoot);
$phar->setStub($phar->createDefaultStub("autoload.php"));
exit("Build complete\n");
{
"description": "Input filtering and form validation",
"require": {
"zendframework/zend-inputfilter": "2.2.*",
"zendframework/zend-servicemanager": "2.2.*",
"zendframework/zend-i18n": "2.2.*",
"zendframework/zend-filter": "2.2.*",
"zendframework/zend-validator": "2.2.*",
"zendframework/zend-uri": "2.2.*",
"zendframework/zend-escaper": "2.2.*"
},
"config": {
"preferred-install": "dist"
},
"prefer-stable": true,
"minimum-stability": "stable",
"scripts": {
"post-update-cmd": "php build.php",
"post-install-cmd": "php build.php"
}
}
<?php
use Zend\InputFilter\Input;
use Zend\InputFilter\InputFilter;
require(__DIR__."/zf-form.phar");
$filter = new InputFilter();
$input = new Input('first_name');
$input->setRequired(true);
$input->getFilterChain()->attachByName('strip_new_lines')
->attachByName('strip_tags')
->attachByName('string_trim')
->attachByName('null');
$input->getValidatorChain()->attachByName('not_empty', array(), true)
->attachByName('string_length', array('max'=>50));
$filter->add($input);
$input = new Input('last_name');
$input->setRequired(true);
$input->getFilterChain()->attachByName('strip_new_lines')
->attachByName('strip_tags')
->attachByName('string_trim')
->attachByName('null');
$input->getValidatorChain()->attachByName('not_empty', array(), true)
->attachByName('string_length', array('max'=>50));
$filter->add($input);
$input = new Input('email');
$input->setRequired(true);
$input->getFilterChain()->attachByName('strip_new_lines')
->attachByName('strip_tags')
->attachByName('string_trim')
->attachByName('null');
$input->getValidatorChain()->attachByName('not_empty', array(), true)
->attachByName('email_address')
->attachByName('string_length', array('max' => 255));
$filter->add($input);
$input = new Input('email_confirm');
$input->setRequired(true);
$input->getFilterChain()->attachByName('strip_new_lines')
->attachByName('strip_tags')
->attachByName('string_trim')
->attachByName('null');
$input->getValidatorChain()->attachByName('not_empty', array(), true)
->attachByName('identical', array('token'=>'email'));
$filter->add($input);
$input = new Input('username');
$input->setRequired(true);
$input->getFilterChain()->attachByName('string_trim')
->attachByName('null');
$input->getValidatorChain()->attachByName('not_empty', array(), true)
->attachByName('alnum')
->attachByName('string_length', array('max'=>20));
$filter->add($input);
$input = new Input('password');
$input->setRequired(true);
$input->getFilterChain()->attachByName('strip_new_lines')
->attachByName('string_trim')
->attachByName('null');
$input->getValidatorChain()->attachByName('not_empty', array(), true)
->attachByName('string_length');
$filter->add($input);
$data = array(
'first_name' => "Bo<b>b</b> \n ",
'last_name' => "Smith",
'email' => "bob@email.com",
'email_confirm' => "bob@email.com",
'username' => "bobsickle",
'password' => "",
);
$filter->setData($data);
if ($filter->isValid()) {
echo "This is valid".PHP_EOL;
var_dump($filter->getValues());
} else {
echo "Data is not valid".PHP_EOL;
var_dump($filter->getMessages());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment