PHP code example of kariricode / sanitizer

1. Go to this page and download the library: Download kariricode/sanitizer library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

kariricode / sanitizer example snippets


use KaririCode\Sanitizer\Attribute\Sanitize;

class UserProfile
{
    #[Sanitize(sanitizers: ['trim', 'html_special_chars'])]
    private string $name = '';

    #[Sanitize(sanitizers: ['trim', 'normalize_line_breaks'])]
    private string $email = '';

    // Getters and setters...
}

use KaririCode\ProcessorPipeline\ProcessorRegistry;
use KaririCode\Sanitizer\Sanitizer;
use KaririCode\Sanitizer\Processor\Input\TrimSanitizer;
use KaririCode\Sanitizer\Processor\Input\HtmlSpecialCharsSanitizer;
use KaririCode\Sanitizer\Processor\Input\NormalizeLineBreaksSanitizer;

$registry = new ProcessorRegistry();
$registry->register('sanitizer', 'trim', new TrimSanitizer());
$registry->register('sanitizer', 'html_special_chars', new HtmlSpecialCharsSanitizer());
$registry->register('sanitizer', 'normalize_line_breaks', new NormalizeLineBreaksSanitizer());

$sanitizer = new Sanitizer($registry);

$userProfile = new UserProfile();
$userProfile->setName("  Walmir Silva  ");
$userProfile->setEmail("[email protected]\r\n");

$sanitizer->sanitize($userProfile);

echo $userProfile->getName(); // Output: "Walmir Silva"
echo $userProfile->getEmail(); // Output: "[email protected]\n"

use KaririCode\Contract\Processor\ConfigurableProcessor;
use KaririCode\Sanitizer\Processor\AbstractSanitizerProcessor;

class CustomSanitizer extends AbstractSanitizerProcessor implements ConfigurableProcessor
{
    private $option;

    public function configure(array $options): void
    {
        $this->option = $options['custom_option'] ?? 'default';
    }

    public function process(mixed $input): string
    {
        $input = $this->guardAgainstNonString($input);
        // Custom sanitization logic here
        return $input;
    }
}

// Register and use the custom sanitizer
$registry->register('sanitizer', 'custom', new CustomSanitizer());

class AdvancedProfile
{
    #[Sanitize(sanitizers: ['custom' => ['custom_option' => 'value']])]
    private string $customField = '';
}

use KaririCode\ProcessorPipeline\ProcessorRegistry;
use KaririCode\ProcessorPipeline\ProcessorBuilder;
use KaririCode\PropertyInspector\AttributeAnalyzer;
use KaririCode\PropertyInspector\AttributeHandler;
use KaririCode\PropertyInspector\Utility\PropertyInspector;
use KaririCode\Sanitizer\Sanitizer;

$registry = new ProcessorRegistry();
// Register sanitizers...

$builder = new ProcessorBuilder($registry);
$attributeHandler = new AttributeHandler('sanitizer', $builder);
$propertyInspector = new PropertyInspector(new AttributeAnalyzer(Sanitize::class));

$sanitizer = new Sanitizer($registry);