Download the PHP package silviosln/arbor-validator without Composer

On this page you can find all versions of the php package silviosln/arbor-validator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package arbor-validator

🌳 Arbor Validator

Disponível em: AGENTS.md

Arbor Validator é uma biblioteca de validação moderna para PHP 8.3+, agnóstica de framework e com zero dependências externas. Inspirada na Developer Experience (DX) do Zod (TypeScript) e nas capacidades nativas de tipagem, reflexão e atributos do PHP moderno.

Ela resolve simultaneamente quatro desafios essenciais no recebimento de dados:

  1. Validação Rigorosa: Regras estritas, incluindo validações brasileiras especializadas (algoritmo oficial de CPF e o novo padrão CNPJ Alfanumérico da Receita Federal).
  2. Validação Segura de Arquivos / Uploads: Validação real de arquivos ($_FILES) checando tamanho, extensão e MIME type real (magic bytes) via finfo_file para impedir spoofing de extensões.
  3. Coerção e Transformação: Coerção inteligente para formulários HTTP e pipelines de transformação com .transform() e .preprocess().
  4. Mapeamento de Saída: Devolve dados 100% seguros e tipados, seja como um DTO (Classe Tipada) ou como um Array Sanitizado.

📦 Instalação

Requisitos


🛠 As Duas Abordagens Nativas

O Arbor Validator suporta duas formas de validação compartilhando o mesmo motor interno de validação e coerção:

1. Class-First (DTOs com PHP 8 Attributes)

Ideal para payloads complexos, APIs REST com tipagem forte e Domain-Driven Design (DDD). A própria classe PHP é o contrato/schema.


2. Schema / Array Fluent (Estilo Zod)

Ideal para validações pontuais, formulários rápidos e rotas sem a necessidade de criar arquivos de classe DTO.


🇧🇷 Validações Especializadas Brasileiras

1. CPF (AV::string()->cpf() / #[V\Cpf])

2. Novo CNPJ Alfanumérico da Receita Federal (AV::string()->cnpj() / #[V\Cnpj])

3. Telefone Brasileiro e Internacional (AV::string()->phone() / #[V\Phone])


📁 Validação Real de Uploads ($_FILES)

Muitas bibliotecas confiam cegamente em $_FILES['avatar']['type'], que pode ser facilmente falsificado pelo cliente (ex: um script .php disfarçado de .jpg).

O Arbor Validator lê os bytes mágicos reais do arquivo no servidor através do finfo_file():

O arquivo validado pode ser manipulado através do objeto UploadedFile:


🧱 DTOs Aninhados e Listas de Itens (#[V\Nested], #[V\Each])

O Arbor Validator suporta estruturas complexas e listas aninhadas, mapeando erros hierárquicos em notação pontilhada (address.street, items.0.price):


🛡 Objeto ValidationResult (API First-Class)


⚡ Modo Seguro (safeParse) vs Exceção (parse)

Se preferir utilizar blocos try/catch em middlewares ou handlers de API:


🌐 Internacionalização e Idiomas (i18n)

Por padrão, todas as mensagens são exibidas em Português (pt-BR). Você pode alterar o idioma global para Inglês ou cadastrar novas mensagens customizadas:


🔌 Integração Nativa com Arbor Router

O Arbor Validator fornece a trait ValidatesRequestTrait, pronta para ser adicionada no objeto Request do Arbor Router (ou em qualquer aplicação):


🧪 Testes e Qualidade

O projeto conta com suíte de testes completa em PHPUnit 11 e análise estática avançada com PHPStan:


📄 Licença

Distribuído sob a licença MIT. Veja LICENSE para mais detalhes.


All versions of arbor-validator with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
ext-fileinfo Version *
ext-mbstring Version *
ext-json Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package silviosln/arbor-validator contains the following files

Loading the files please wait ...