PHP code example of lacus / br-utils

1. Go to this page and download the library: Download lacus/br-utils 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/ */

    

lacus / br-utils example snippets




use Lacus\BrUtils;



use Lacus\BrUtils\Cpf\CpfUtils;
use Lacus\BrUtils\Cnpj\CnpjUtils;



use Lacus\BrUtils\Cpf\CpfFormatter;
use Lacus\BrUtils\Cpf\CpfFormatterOptions;
use Lacus\BrUtils\Cpf\CpfGenerator;
use Lacus\BrUtils\Cpf\CpfGeneratorOptions;
use Lacus\BrUtils\Cpf\CpfValidator;



use Lacus\BrUtils\Cnpj\CnpjFormatter;
use Lacus\BrUtils\Cnpj\CnpjFormatterOptions;
use Lacus\BrUtils\Cnpj\CnpjGenerator;
use Lacus\BrUtils\Cnpj\CnpjGeneratorOptions;
use Lacus\BrUtils\Cnpj\CnpjValidator;
use Lacus\BrUtils\Cnpj\CnpjValidatorOptions;
use Lacus\BrUtils\Cnpj\Enums\CnpjType as CnpjGenerationType;
use Lacus\BrUtils\Cnpj\Enums\CnpjValidationType;



use function Lacus\BrUtils\Cpf\cpf_fmt;
use function Lacus\BrUtils\Cpf\cpf_gen;
use function Lacus\BrUtils\Cpf\cpf_val;
use function Lacus\BrUtils\Cnpj\cnpj_fmt;
use function Lacus\BrUtils\Cnpj\cnpj_gen;
use function Lacus\BrUtils\Cnpj\cnpj_val;



use Lacus\BrUtils;

$utils = new BrUtils();
$cpf = '11144477735';
$cnpj = '03603568000195';

$utils->cpf->format($cpf);      // '111.444.777-35'
$utils->cpf->isValid($cpf);     // true
$utils->cpf->generate();        // e.g. '11508890048'

$utils->cnpj->format($cnpj);    // '03.603.568/0001-95'
$utils->cnpj->isValid($cnpj);   // true
$utils->cnpj->generate();       // e.g. '1GJTR3J3XSSA96'



use Lacus\BrUtils\Cpf\CpfUtils;
use Lacus\BrUtils\Cnpj\CnpjUtils;

$cpf = '11144477735';
$cnpj = '03603568000195';

(new CpfUtils())->format($cpf);      // '111.444.777-35'
(new CnpjUtils())->format($cnpj);    // '03.603.568/0001-95'
(new CpfUtils())->isValid($cpf);     // true
(new CnpjUtils())->isValid($cnpj);   // true



use function Lacus\BrUtils\Cpf\cpf_fmt;
use function Lacus\BrUtils\Cpf\cpf_val;
use function Lacus\BrUtils\Cnpj\cnpj_fmt;
use function Lacus\BrUtils\Cnpj\cnpj_val;

$cpf = '11144477735';
$cnpj = '03603568000195';

cpf_fmt($cpf);     // '111.444.777-35'
cpf_val($cpf);     // true
cnpj_fmt($cnpj);   // '03.603.568/0001-95'
cnpj_val($cnpj);   // true



use Lacus\BrUtils;
use Lacus\BrUtils\Cnpj\Enums\CnpjType as CnpjGenerationType;
use Lacus\BrUtils\Cnpj\Enums\CnpjValidationType;

$utils = new BrUtils();

$utils->cpf->format('11144477735');    // '111.444.777-35'
$utils->cpf->isValid('11144477735');   // true
$utils->cpf->generate();               // e.g. '11508890048'

$utils->cnpj->format('03603568000195');    // '03.603.568/0001-95'
$utils->cnpj->format('12ABC34500DE99');    // '12.ABC.345/00DE-99'
$utils->cnpj->isValid('1QB5UKALPYFP59');   // true
$utils->cnpj->generate(format: true);      // e.g. 'V1.J0V.8WE/DVZ7-50'
$utils->cnpj->generate(                    // e.g. '15381773354961'
    type: CnpjGenerationType::Numeric,
);

$utils = new BrUtils(
    cpf: [
        'formatter' => ['hidden' => true, 'hiddenKey' => '#'],
        'generator' => ['format' => true],
    ],
    cnpj: [
        'formatter' => ['hidden' => true, 'hiddenKey' => '#'],
        'generator' => ['format' => true],
        'validator' => ['type' => CnpjValidationType::Numeric],
    ],
);

$cpf = '11144477735';
$cnpj = '03603568000195';

$utils->cpf->format($cpf);                  // '111.###.###-##'
$utils->cpf->format($cpf, hidden: false);   // '111.444.777-35'
$utils->cpf->generate(format: false);       // e.g. '58450042259'

$utils->cnpj->format($cnpj);                  // '03.603.###/####-##'
$utils->cnpj->format($cnpj, hidden: false);   // '03.603.568/0001-95'
$utils->cnpj->isValid('1QB5UKALPYFP59');      // false
$utils->cnpj->isValid(                        // true
    '1QB5UKALPYFP59',
    type: CnpjValidationType::Alphanumeric,
);

$cpf = '11144477735';

$utils->cpf->format($cpf);                                        // '111.444.777-35'
$utils->cpf->format($cpf, hidden: true, hiddenKey: '#');          // '111.###.###-##'
$utils->cpf->format($cpf, dotKey: '', dashKey: '_');             // '111444777_35'

cpf_fmt($cpf, hidden: true);                                       // '111.***.***-**'

$utils->cpf->generate();                      // e.g. '11508890048'
$utils->cpf->generate(format: true);          // e.g. '661.134.831-00'
$utils->cpf->generate(prefix: '123456789');   // '12345678909'
cpf_gen(prefix: '123456789', format: true);   // '123.456.789-09'

$utils->cpf->isValid('11144477735');      // true
$utils->cpf->isValid('111.444.777-35');   // true
$utils->cpf->isValid('11144477736');      // false
cpf_val('11144477735');                   // true

$cnpj = '03603568000195';

$utils->cnpj->format($cnpj);              // '03.603.568/0001-95'
$utils->cnpj->format('12ABC34500DE99');   // '12.ABC.345/00DE-99'
$utils->cnpj->format(                     // '03.603.###/####-##'
    $cnpj,
    hidden: true,
    hiddenKey: '#',
);
$utils->cnpj->format(                     // '03603568|0001_95'
    $cnpj,
    dotKey: '',
    slashKey: '|',
    dashKey: '_',
);

cnpj_fmt($cnpj);   // '03.603.568/0001-95'

$utils->cnpj->generate();               // e.g. '1GJTR3J3XSSA96'
$utils->cnpj->generate(format: true);   // e.g. 'V1.J0V.8WE/DVZ7-50'
$utils->cnpj->generate(                 // e.g. '12345678855883'
    prefix: '12345678',
    type: CnpjGenerationType::Numeric,
);

$utils->cnpj->isValid('98765432000198');   // true
$utils->cnpj->isValid('98765432000199');   // false
$utils->cnpj->isValid('1QB5UKALPYFP59');   // true
$utils->cnpj->isValid('1QB5UKALpyfp59');   // false
$utils->cnpj->isValid(                     // true
    '1QB5UKALpyfp59',
    caseSensitive: false,
);
$utils->cnpj->isValid(                     // false
    '1QB5UKALPYFP59',
    type: CnpjValidationType::Numeric,
);

cnpj_val('98765432000198');                         // true
cnpj_val('1QB5UKALpyfp59', caseSensitive: false);   // true
cnpj_val(                                           // false
    '1QB5UKALPYFP59',
    type: CnpjValidationType::Numeric,
);



use Lacus\BrUtils\Cpf\CpfUtils;
use Lacus\BrUtils\Cnpj\CnpjUtils;
use Lacus\BrUtils\Cnpj\Enums\CnpjValidationType;

$cpfUtils = new CpfUtils(
    formatter: ['hidden' => true],
    generator: ['format' => true],
);

$cnpjUtils = new CnpjUtils(
    formatter: ['hidden' => true],
    generator: ['format' => true],
    validator: ['type' => CnpjValidationType::Numeric],
);

$cpfUtils->format('11144477735');       // '111.***.***-**'
$cnpjUtils->format('03603568000195');   // '03.603.***/****-**'

$utils = new BrUtils();

$utils->cpf->getFormatter()->format(                   // '111.***.***-**'
    '11144477735',
    hidden: true,
);
$utils->cpf->getGenerator()->generate(format: true);   // e.g. '545.507.690-68'
$utils->cpf->getValidator()->isValid('11144477735');   // true

$utils->cnpj->getFormatter()->format('12ABC34500DE99');    // '12.ABC.345/00DE-99'
$utils->cnpj->getGenerator()->generate(format: true);      // e.g. '8O.BE5.2KL/UI0Y-06'
$utils->cnpj->getValidator()->isValid('03603568000195');   // true



use Lacus\BrUtils;
use Lacus\BrUtils\Cnpj\CnpjFormatter;
use Lacus\BrUtils\Cnpj\Enums\CnpjValidationType;

use function Lacus\BrUtils\Cpf\cpf_fmt;
use function Lacus\BrUtils\Cnpj\cnpj_val;

$utils = new BrUtils(cnpj: ['validator' => ['type' => CnpjValidationType::Numeric]]);

// Via façade
$utils->cpf->format('11144477735');   // '111.444.777-35'

// Via component returned by the façade
$utils->cnpj->getFormatter()->format('12ABC34500DE99');   // '12.ABC.345/00DE-99'

// Via a separate component instance
(new CnpjFormatter())->format('03603568000195');   // '03.603.568/0001-95'

// Via functional helpers
cpf_fmt('11144477735');           // '111.444.777-35'
cnpj_val('98.765.432/0001-98');   // true



use Lacus\BrUtils;
use Lacus\BrUtils\Cnpj\Exceptions\CnpjFormatterInputTypeError;
use Lacus\BrUtils\Cnpj\Exceptions\CnpjValidatorInputTypeError;

$brUtils = new BrUtils();

try {
    $brUtils->cnpj->format(12345);   // throws CnpjFormatterInputTypeError
} catch (CnpjFormatterInputTypeError $e) {
    echo $e->getMessage();
}

try {
    $brUtils->cnpj->isValid(12345678000198);   // throws CnpjValidatorInputTypeError
} catch (CnpjValidatorInputTypeError $e) {
    echo $e->getMessage();
}

$cpfOut = $brUtils->cpf->format(     // 'invalid'
    'short',
    onFail: static fn ($value) => 'invalid'
);
$cnpjOut = $brUtils->cnpj->format(   // 'invalid'
    'short',
    onFail: static fn () => 'invalid',
);