cocoon-projet/control
Composer 安装命令:
composer require cocoon-projet/control
包简介
Librairie de validation pour php
README 文档
README
Cocoon Control
Une librairie PHP 8 de validation de données simple et puissante.
Prérequis
- PHP 8.0 ou supérieur
- Composer
Installation
composer require cocoon-projet/control
Utilisation
Validation de base
use Cocoon\Control\Validator; $validator = new Validator(); $validator->validate([ 'name' => 'required', 'email' => 'required|email', 'age' => 'required|int|num_min:18', 'password' => 'required|same:password_confirm', 'password_confirm' => 'required' ]);
Validation avec données personnalisées
$validator->data([ 'name' => 'John Doe', 'email' => 'john@example.com', 'age' => '25', 'password' => '123456', 'password_confirm' => '123456' ])->validate([ 'name' => 'required', 'email' => 'required|email', 'age' => 'required|int|num_min:18', 'password' => 'required|same:password_confirm', 'password_confirm' => 'required' ]);
Messages d'erreur personnalisés
$validator->validate([ 'name' => 'required', 'email' => 'required|email' ], [ 'name.required' => 'Le nom est obligatoire', 'email.email' => 'L\'adresse email n\'est pas valide' ]);
Alias de champs
$validator->validate([ 'user_name as nom d\'utilisateur' => 'required', 'user_email as email' => 'required|email' ]);
Règles personnalisées
$validator->addRule('custom', function($value) { return $value === 'valid'; }, 'La valeur doit être "valid"'); $validator->validate([ 'field' => 'required|custom' ]);
Gestion des erreurs
try { $validator->validate([ 'name' => 'required', 'email' => 'required|email' ]); } catch (\Cocoon\Control\Exceptions\ValidationException $e) { $errors = $e->getErrors(); // Traitement des erreurs }
Règles disponibles
required: Le champ est obligatoireemail: Le champ doit être une adresse email valideint: Le champ doit être un nombre entiernum_min:value: Le champ doit être supérieur ou égal à la valeur spécifiéenum_max:value: Le champ doit être inférieur ou égal à la valeur spécifiéesame:field: Le champ doit correspondre au champ spécifiéalpha: Le champ ne doit contenir que des lettresal_num: Le champ ne doit contenir que des lettres et des chiffresbool: Le champ doit être un booléendate: Le champ doit être une date valideip: Le champ doit être une adresse IP valide
Gestion des fichiers
La librairie supporte également la validation des fichiers uploadés :
$validator->validate([ 'avatar' => 'required_file|type:jpg,gif|size:100000' ]);
Tests
Pour exécuter les tests :
composer test
Pour générer un rapport de couverture de code :
composer test-coverage
Contribution
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche pour votre fonctionnalité (
git checkout -b feature/amazing-feature) - Commit vos changements (
git commit -m 'Add some amazing feature') - Push vers la branche (
git push origin feature/amazing-feature) - Ouvrir une Pull Request
Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
cocoon-projet/control 适用场景与选型建议
cocoon-projet/control 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 25 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 02 月 16 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「validator」 「validation」 「control」 「validate」 「valid」 「verify」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 cocoon-projet/control 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 cocoon-projet/control 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 cocoon-projet/control 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Runn Me! Validation and Sanitization Library
Extension for Opis JSON Schema
Provide a way to secure accesses to all routes of an symfony application.
Adds request-parameter validation to the SLIM 3.x PHP framework
A jQuery augmented PHP library for creating and validating HTML forms
A Laravel validator for delimiter-separated list of emails.
统计信息
- 总下载量: 25
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-02-16