jayroncastro/jfphp
最新稳定版本:v2.1.0
Composer 安装命令:
composer require jayroncastro/jfphp
包简介
Small PHP Framework for use in specific projects
README 文档
README
Um micro-framework PHP com componentes modernos, fortemente tipados e reutilizáveis, projetado para acelerar o desenvolvimento de projetos com código limpo e robusto.
Visão Geral
O JFPHP nasceu da necessidade de ter um conjunto de ferramentas padronizadas e modernas para lidar com tarefas comuns do desenvolvimento PHP, como a manipulação de coleções de dados e o tratamento de requisições HTTP. O framework é construído com as funcionalidades mais recentes do PHP 8.4+, incluindo Enums, classes readonly e tipagem estrita para máxima segurança e performance.
Principais Funcionalidades
- API de Coleções Genéricas: Um sistema completo para trabalhar com listas e conjuntos de forma orientada a objetos.
ListInterface: Para coleções ordenadas que permitem acesso por índice (ArrayList).SetInterface: Para coleções de elementos únicos (HashSet).ListIteratorInterface: Um iterador avançado com suporte a navegação bidirecional e modificação durante o loop.
- Manipulador de Requisições HTTP: Um sistema desacoplado e moderno para lidar com dados de entrada.
- Detecta automaticamente o método HTTP (
GET,POST,PUT,PATCH, etc.). - Parseia dados de
$_GET,$_POSTe corpos de requisiçãoJSON. - Utiliza um sistema de
Sanitizerinjetável para validação e limpeza de dados. - Retorna dados em
Value Objectsimutáveis e com tipo garantido.
- Detecta automaticamente o método HTTP (
Estrutura do Framework (Namespaces)
Aqui está um mapa de todas as classes e interfaces disponíveis no framework:
jayroncastro\jfphpArrayListHashSetArrayListIteratorcollections(Sub-namespace conceitual para interfaces de coleção)CollectionInterfaceListInterfaceSetInterfaceListIteratorInterface
abstract(Sub-namespace conceitual para classes base)AbstractCollectionAbstractListAbstractSet
jayroncastro\jfphp\langValueObject
jayroncastro\jfphp\httpRequestRequestParamsRequestResult(Interface)SanitizerInterfaceenumsDataTypeHttpMethod
resultArrayResultBoolResultEmailResultFloatResultHtmlResultIntResultRawResultStringResultTextareaResultUrlResult
jayroncastro\jfphp\exceptionExceptionMessage(Enum)IndexOutOfBoundsExceptionIllegalStateExceptionNoSuchElementException
Requisitos
- PHP >= 8.4
Instalação
A forma recomendada de instalar o JFPHP é via Composer.
composer require jayroncastro/jfphp
Como Usar
1. Coleções
O sistema de coleções fornece uma API fluente e poderosa para manipular arrays de forma orientada a objetos.
Exemplo com ArrayList:
use jayroncastro\jfphp\collections\ArrayList; $lista = new ArrayList(['PHP', 'JavaScript']); $lista->add('Python'); // $lista agora contém ['PHP', 'JavaScript', 'Python']
Exemplo com HashSet:
use jayroncastro\jfphp\collections\HashSet; $set = new HashSet(); $set->add('vermelho'); // true (adicionado) $set->add('vermelho'); // false (ignorado, pois já existe) // $set agora contém ['vermelho']
2. Manipulador de Requisições
O sistema permite buscar dados de $_POST, $_GET, ou do corpo da requisição de forma segura.
Exemplo de uso em um projeto (ex: WordPress):
// 1. Crie um Sanitizer específico para seu projeto (ex: no seu plugin) class WordPressSanitizer implements \jayroncastro\jfphp\http\SanitizerInterface { // ... lógica com funções do WordPress ... } // 2. Use o framework para pegar os dados use jayroncastro\jfphp\http\Request; use jayroncastro\jfphp\http\RequestParams; use jayroncastro\jfphp\http\enums\DataType; $request = new Request(new WordPressSanitizer()); $params = new RequestParams('user_email', DataType::EMAIL); $emailResult = $request->getParam($params); $emailLimpo = $emailResult->getValue();
Licença
Este framework está licenciado sob a Licença Pública Geral GNU v3.0 ou posterior. Veja o arquivo LICENSE para mais detalhes.
Autor
Criado e mantido por Jayron Castro.
统计信息
- 总下载量: 6
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-or-later
- 更新时间: 2025-06-18