parameter est une bibliothèque autour parameter -argument qui fournit des fonctionnalités supplémentaires avec des règles de validation et une introspection de schéma.
parameter est disponible via Packagist et la source du référentiel se trouve dans chevere/ parameter .
composer require chevere/ parameter parameter permet de générer parameter dynamiques de tout type avec des règles supplémentaires.
Par exemple, un entier de valeur minimale 10.
use function Chevere parameter int ;
$ int = int (min: 10 );
$ int ( $ var ); // exception if $var < 10Dans parameter de fonction ou de méthode, vous pouvez utiliser des attributs pour définir des règles de validation pour parameter et la valeur de retour.
use Chevere parameter Attributes FloatAttr ;
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes ReturnAttr ;
use function Chevere parameter returnAttr ;
use function Chevere parameter validated ;
#[ReturnAttr(
new FloatAttr (min: 0 , max: 2400 )
)]
function wageWeekWA (
#[IntAttr(min: 1628 )]
int $ cents ,
#[FloatAttr(min: 0 , max: 40 )]
float $ hours
) {
return $ cents * $ hours / 100 ;
}
validated ( ' wageWeekWA ' , $ cents , $ hours ); La validation peut être déclenchée à l'aide de validated (exemple ci-dessus), en ligne et/ou déléguée à un wrapper d'appelant. parameter fournit des aides pour accéder aux règles pour parameter et la valeur de retour afin de faciliter le processus de câblage.
Les règles définies par chaque parameter fournissent un schéma lisible par l'homme qui permet d'exposer les critères de validation.
parameter fournit une API qui peut être utilisée pour créer parameter à l’aide de fonctions et/ou d’attributs. les objets parameter peuvent être utilisés directement dans la logique tandis que les attributs nécessitent une étape de lecture.
Utilisez la validation en ligne pour partir de ceci :
if ( $ var > 10 || $ var < 1 ) {
throw new InvalidArgumentException ();
}À ceci :
use function Chevere parameter int ;
int (min: 1 , max: 10 )( $ var );Utilisez des attributs pour définir des règles pour parameter et la valeur de retour.
Utilisez la validation déléguée d'attribut avec la fonction validated() pour partir de ceci :
function myFunction ( int $ var ): string
{
if ( $ var > 10 || $ var < 1 ) {
throw new InvalidArgumentException ();
}
$ return = ' done ok ' ;
return preg_match ( ' /ok$/ ' , $ return )
? $ return
: throw new InvalidArgumentException ();
}
$ result = myFunction ( $ var );À ceci :
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes ReturnAttr ;
use Chevere parameter Attributes StringAttr ;
use function Chevere parameter validated ;
#[ReturnAttr(
new StringAttr ( ' /ok$/ ' )
)]
function myFunction (
#[IntAttr(min: 1 , max: 10 )]
int $ var
): string
{
return ' done ok ' ;
}
$ result = validated ( ' myFunction ' , $ var ); Utilisez reflectionTo parameter s et les fonctions reflectionToReturn pour la validation manuelle des arguments et de la valeur de retour :
use ReflectionFunction ;
use function Chevere parameter reflectionTo parameter s ;
use function Chevere parameter reflectionToReturn ;
$ reflection = new ReflectionFunction ( ' myFunction ' );
$ parameter s = reflectionTo parameter s ( $ reflection );
$ return = reflectionToReturn ( $ reflection );
$ parameter s (... $ args ); // valid $args
$ result = myFunction (... $ args ); // myFunction call
$ return ( $ result ); // valid $resultUtilisez la validation en ligne d'attribut pour la validation manuelle dans le corps de la fonction :
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes ReturnAttr ;
use Chevere parameter Attributes StringAttr ;
use function Chevere parameter valid ;
use function Chevere parameter returnAttr ;
#[ReturnAttr(
new StringAttr ( ' /ok$/ ' )
)]
function myFunction (
#[IntAttr(min: 1 , max: 10 )]
int $ var
): string
{
valid (); // valid $var
$ return = ' ok ' ;
return returnAttr ()( $ return ); // valid $return
}Les attributs en PHP ne prennent en charge que les expressions que vous pouvez utiliser sur les constantes de classe. Il n'est pas possible de définir directement parameter dynamiques à l'aide d'attributs.
Pour éviter cette limitation, vous pouvez utiliser l'attribut CallableAttr qui permet de transmettre la résolution parameter à un appelable renvoyant une instance parameter Interface .
use Chevere parameter Interfaces parameter Interface ;
use Chevere parameter Attributes CallableAttr ;
function myCallable (): parameter Interface
{
return arrayp (
email: string (),
)-> withOptional (
name: string (),
);
}
#[CallableAttr( ' myCallable ' )] Un parameter est un objet implémentant parameter Interface . Chaque parameter peut définir une description et une valeur default , ainsi que des règles de validation supplémentaires selon le type.
Un parameter peut être défini à l'aide de fonctions et/ou d'attributs, il prend les mêmes arguments pour les deux.
Lors de l'invocation d'un parameter $param('value') cela déclenchera la validation par rapport à l'argument passé.
Utilisez la fonction string pour créer un String parameter . Passez une regex pour la correspondance de chaînes.
use function Chevere parameter string ;
// Any string
$ string = string ();
// String matching bin-<digits>
$ string = string ( ' /^bin-[d]+$/ ' );
$ string ( ' bin-123 ' ); Utilisez l'attribut StringAttr pour définir un parameter de chaîne.
use Chevere parameter Attributes StringAttr ;
#[StringAttr( ' /^bin-[d]+$/ ' )]Les parameter suivants sont basés sur String.
Utilisez la fonction enum pour créer un String parameter correspondant à une liste de chaînes.
use function Chevere parameter enum ;
$ enum = enum ( ' on ' , ' off ' );
$ enum ( ' on ' );
$ enum ( ' off ' ); Utilisez l'attribut EnumAttr pour définir un parameter de chaîne d'énumération.
use Chevere parameter Attributes EnumAttr ;
#[EnumAttr( ' on ' , ' off ' )] Utilisez la fonction intString pour créer un String parameter correspondant à une chaîne d'entiers.
use function Chevere parameter intString ;
$ int = intString ();
$ int ( ' 100 ' ); Utilisez la fonction boolString pour créer un String parameter correspondant aux chaînes 0 et 1 .
use function Chevere parameter boolString ;
$ bool = boolString ();
$ bool ( ' 0 ' );
$ bool ( ' 1 ' ); Utilisez la fonction date pour créer un String parameter correspondant aux chaînes YYYY-MM-DD .
use function Chevere parameter date ;
$ date = date ();
$ date ( ' 2021-01-01 ' ); Utilisez la fonction time pour créer un String parameter correspondant aux chaînes hh:mm:ss .
use function Chevere parameter time ;
$ time = time ();
$ time ( ' 12:00:00 ' ); Utilisez la fonction datetime pour créer un String parameter correspondant YYYY-MM-DD hh:mm:ss .
use function Chevere parameter datetime ;
$ datetime = datetime ();
$ datetime ( ' 2024-01-09 10:53:00 ' ); Utilisez la fonction int pour créer un Int parameter . Transmettez les valeurs min et max pour la plage d’entiers, accept pour une liste d’entiers acceptés et reject pour une liste d’entiers rejetés.
use function Chevere parameter int ;
// Any int
$ int = int ();
$ int ( 1 );
// Integer between 0 and 100
$ int = int (min: 0 , max: 100 );
$ int ( 50 );
// Integer matching 1, 2 or 3
$ int = int (accept: [ 1 , 2 , 3 ]);
$ int ( 2 );
// Integer not-matching 1, 2 or 3
$ int = int (reject: [ 1 , 2 , 3 ]);
$ int ( 4 ); Utilisez l'attribut IntAttr pour définir un parameter entier.
use Chevere parameter Attributes IntAttr ;
#[IntAttr(min: 0 , max: 100 )]Les parameter suivants sont basés sur Int.
Utilisez la fonction boolInt pour créer un Int parameter correspondant aux entiers 0 et 1 .
use function Chevere parameter boolInt ;
$ bool = boolInt ();
$ bool ( 0 );
$ bool ( 1 ); Utilisez la fonction float pour créer un Float parameter . Transmettez les valeurs min et max pour la plage des flottants, accept pour une liste de flottants acceptés et reject pour une liste de flottants rejetés.
use function Chevere parameter float ;
// Any float
$ float = float ();
$ float ( 1.5 );
// Float between 0 and 100
$ float = float (min: 0 , max: 100 );
$ float ( 50.5 );
// Float matching 1.5, 2.5 or 3.5
$ float = float (accept: [ 1.5 , 2.5 , 3.5 ]);
$ float ( 2.5 );
// Float not-matching 1.5, 2.5 or 3.5
$ float = float (reject: [ 1.5 , 2.5 , 3.5 ]);
$ float ( 4.5 ); Utilisez l'attribut FloatAttr pour définir un parameter float.
use Chevere parameter Attributes FloatAttr ;
#[FloatAttr(min: 0 , max: 100 )] Utilisez la fonction bool pour créer un Bool parameter .
use function Chevere parameter bool ;
$ bool = bool ();
$ bool ( true );
$ bool ( false ); Utilisez l'attribut BoolAttr pour définir un parameter booléen.
use Chevere parameter Attributes BoolAttr ;
#[BoolAttr] Utilisez la fonction null pour créer un Null parameter .
use function Chevere parameter null ;
$ null = null ();
$ null ( null ); Utilisez l'attribut NullAttr pour définir un parameter nul.
use Chevere parameter Attributes NullAttr ;
#[NullAttr] Utilisez object fonction pour créer un Object parameter . Transmettez un className pour le nom de la classe d'objet.
use function Chevere parameter object ;
$ object = object (stdClass::class);
$ object ( new stdClass ()); Utilisez l'attribut ObjectAttr pour définir un parameter d'objet.
use Chevere parameter Attributes ObjectAttr ;
#[ObjectAttr(stdClass::class)] Utilisez la fonction mixed pour créer un Mixed parameter .
use function Chevere parameter mixed ;
$ mixed = mixed ();
$ mixed ( 1 );
$ mixed ( ' 1 ' );
$ mixed ( true );
$ mixed ( null ); Utilisez la fonction union pour créer un Union parameter . Transmettez une liste de parameter à faire correspondre, la valeur cible doit correspondre à au moins un.
use function Chevere parameter union ;
// Any string or null
$ union = union ( string (), null());
$ union ( ' abc ' );
$ union ( null );
// Any digit string or any integer
$ union = union (
intString (),
integer ()
);
$ union ( ' 100 ' );
$ union ( 100 ); parameter pour array de types est géré comme un parameter composite contenant la définition parameter pour chacun de ses membres.
Utilisez la fonction arrayp pour créer un Array parameter pour les arguments nommés en tant que clés de tableau requises.
use function Chevere parameter arrayp ;
// Empty array
$ array = arrayp ();
$ array ([]);
// Required 'a' => <string>
$ array = arrayp (a: string ());
$ array ([ ' a ' => ' Hello world ' ]);parameter prend en charge les tableaux imbriqués de n’importe quelle profondeur :
use function Chevere parameter arrayp ;
use function Chevere parameter float ;
use function Chevere parameter int ;
$ array = arrayp (
id: int (min: 0 ),
items: arrayp (
id: int (min: 0 ),
price: float (min: 0 ),
),
);
$ array ([
' id ' => 1 ,
' items ' => [
' id ' => 25 ,
' price ' => 16.5 ,
]
]); Utilisez l'attribut ArrayAttr pour définir un parameter de tableau.
use Chevere parameter Attributes ArrayAttr ;
use Chevere parameter Attributes FloatAttr ;
use Chevere parameter Attributes IntAttr ;
#[ArrayAttr(
id: new IntAttr (),
items: new ArrayAttr (
id: new IntAttr (),
price: new FloatAttr (),
),
)] utilisez la méthode withRequired pour définir parameter requis.
$ array = $ array
-> withRequired (
username: string (),
email: string ()
); utilisez la méthode withOptional pour définir parameter facultatifs.
$ array = $ array
-> withOptional (address: string ());Remarque : parameter facultatifs ne seront validés que si une clé correspondante est fournie.
utilisez la méthode withModify pour définir parameter de modification.
$ array = $ array
-> withModify (
username: string ( ' /w+/ ' ),
); utilisez la méthode withMakeOptional pour rendre parameter requis facultatifs.
$ array = $ array
-> withMakeOptional ( ' username ' ); utilisez la méthode withMakeRequired pour rendre parameter facultatifs obligatoires.
$ array = $ array
-> withMakeRequired ( ' email ' ); utilisez la méthode without supprimer parameter s.
$ array = $ array
-> without ( ' a ' ); utilisez la méthode withOptionalMinimum pour définir un nombre minimum de parameter facultatifs. Utile si tous parameter sont facultatifs sauf 1.
$ array = $ array
-> withOptionalMinimum ( 1 );Les parameter suivants sont basés sur Array.
Utilisez la fonction arrayString pour créer une ArrayString parameter Interface pour les valeurs de chaîne. Il ne prend en charge que parameter de chaîne.
use function Chevere parameter arrayString ;
use function Chevere parameter string ;
$ array = arrayString (
test: string (),
);
$ array ([ ' test ' => ' foo ' ]); Utilisez file de fonction pour créer un Array parameter pour les téléchargements de fichiers.
use function Chevere parameter file ;
$ array = file ();
$ file = [
' name ' => ' foo.txt ' ,
' type ' => ' text/plain ' ,
' tmp_name ' => ' /tmp/phpYzdqkD ' ,
' error ' => 0 ,
' size ' => 123 ,
];
$ array ( $ file ); Par défaut, il fournit une validation pour la forme $_FILES , mais vous pouvez définir vos propres règles de validation. Par exemple, pour valider le nom et le contenu :
use function Chevere parameter file ;
$ array = file (
name: string ( ' /^.txt$/ ' ),
contents: string ( ' /wage-/ ' ),
);
$ array (
' name ' => ' wage-2024.txt ' ,
' type ' => ' text/plain ' ,
' tmp_name ' => ' /tmp/phpYzdqkD ' ,
' error ' => 0 ,
' size ' => 27 ,
' contents ' => ' yada yada wage-2024 bla bla ' ,
); Le type itérable Traversable|array est considéré comme un parameter composite contenant une définition générique de la clé et de la valeur. parameter permet de décrire cet ensemble d’éléments partageant la même forme.
Utilisez la fonction iterable pour créer un Iterable parameter . Passez un parameter V et K s pour la clé et la valeur génériques.
use function Chevere parameter int ;
use function Chevere parameter iterable ;
$ iterable = iterable ( int (min: 0 ));
$ iterable ([ 0 , 1 , 2 , 3 ]);Cela fonctionne également avec des clés nommées :
use function Chevere parameter int ;
use function Chevere parameter iterable ;
use function Chevere parameter string ;
$ iterable = iterable (
V: arrayp (
id: int (min: 0 ),
name: string ( ' ^[w]{1,255} ' ),
)
K: string (),
);
$ iterable ([
' based ' => [
' id ' => 1 ,
' name ' => ' OscarGangas '
],
' fome ' => [
' id ' => 2 ,
' name ' => ' BomboFica '
],
]); Utilisez parameter s de fonction pour créer l'instance parameter s .
use function Chevere parameter s parameter s ;
use function Chevere parameter s string ;
$ parameter s = parameter s (foo: string ()); Utilisez arguments de fonction pour créer une instance Arguments .
use function Chevere parameter s arguments ;
use function Chevere parameter s string ;
$ arguments = arguments ( $ parameter s , [ ' foo ' => ' bar ' ]); Utilisez la fonction assertNamedArgument pour affirmer un argument nommé.
use function Chevere parameter s assertNamedArgument ;
use function Chevere parameter s int ;
use function Chevere parameter s parameter s ;
$ parameter = int (min: 10 );
assertNamedArgument (
name: ' foo ' ,
parameter : $ parameter ,
argument: 20
); Utilisez la fonction to parameter pour créer une instance parameter Interface à partir d'une chaîne de type. Dans l'exemple ci-dessous, le $ parameter résultant sera un Int parameter .
use function Chevere parameter s to parameter ;
$ parameter = to parameter ( ' int ' ); Utilisez la fonction arrayFrom pour créer un parameter Array à partir d'un autre parameter de tableau. Dans l'exemple ci-dessous, le $array résultant contiendra uniquement les clés name et id telles que définies dans $source .
use function Chevere parameter s arrayFrom ;
use function Chevere parameter s arrayp ;
use function Chevere parameter s int ;
use function Chevere parameter s string ;
$ source = arrayp (
id: int (),
name: string (),
email: string (),
age: int (),
);
$ array = arrayFrom ( $ source , ' name ' , ' id ' ); Utilisez la fonction takeKeys pour récupérer un tableau avec les clés d'un parameter . Dans l'exemple ci-dessous, $keys contiendra id et size .
use function Chevere parameter s arrayp ;
use function Chevere parameter s int ;
use function Chevere parameter s takeKeys ;
$ array = arrayp (
id: int (),
size: int (),
);
$ keys = takeKeys ( $ array ); Utilisez la fonction takeFrom pour récupérer un itérateur avec les clés souhaitées à partir d'un parameter . Dans l'exemple ci-dessous, $iterator produira des clés size et name .
use function Chevere parameter s arrayp ;
use function Chevere parameter s int ;
use function Chevere parameter s string ;
use function Chevere parameter s takeFrom ;
$ array = arrayp (
id: int (min: 0 ),
size: int (min: 100 ),
name: string (),
);
$ iterator = takeFrom ( $ array , ' size ' , ' name ' ); Utilisez parameter sFrom pour créer un parameter s avec les clés souhaitées à partir d'un parameter . Dans l'exemple ci-dessous, $ parameter s contiendra les clés size et name .
use function Chevere parameter s arrayp ;
use function Chevere parameter s int ;
use function Chevere parameter s string ;
use function Chevere parameter s parameter sFrom ;
$ array = arrayp (
id: int (min: 0 ),
size: int (min: 100 ),
name: string (),
);
$ parameter s = parameter sFrom ( $ array , ' size ' , ' name ' ); Utilisez la fonction get parameter s pour récupérer l'instance parameter s à partir d'un objet implémentant parameter AccessInterface ou parameter sInterface .
use function Chevere parameter s get parameter s ;
$ parameter s = get parameter s ( $ object ); Utilisez la fonction getType pour récupérer le type connu par cette bibliothèque.
use function Chevere parameter s getType ;
$ type = getType ( 1 ); // int Utilisez parameter Attr pour récupérer un parameter AttributeInterface à partir d'un parameter de fonction ou de méthode de classe.
use function Chevere parameter s parameter Attr ;
use Chevere parameter Attributes StringAttr ;
function myFunction (
#[StringAttr( ' /^bin-[d]+$/ ' )]
string $ foo
): void {
// ...
}
$ stringAttr = parameter Attr ( ' foo ' , ' myFunction ' );
$ stringAttr ( ' bin-123 ' ); Utilisez la fonction reflectionTo parameter s pour récupérer l’instance parameter s à partir d’une instance ReflectionFunction ou ReflectionMethod .
use function Chevere parameter reflectionTo parameter s ;
$ parameter s = reflectionTo parameter s ( $ reflection ); Utilisez la fonction reflectionToReturn pour récupérer une instance parameter Interface à partir d’une instance ReflectionFunction ou ReflectionMethod .
use function Chevere parameter reflectionToReturn ;
$ parameter = reflectionToReturn ( $ reflection ); Utilisez reflected parameter Attribute pour récupérer un objet implémentant parameter AttributeInterface à partir d’une instance Reflection parameter .
use function Chevere parameter reflected parameter Attribute ;
$ parameter Attribute = reflected parameter Attribute ( $ reflection parameter ); Utilisez function validated pour valider les arguments d’une fonction ou d’une méthode.
use function Chevere parameter validated ;
$ result = validated ( ' myFunction ' , $ arg1 , $ arg2 ,); use function Chevere parameter string ;
$ value = ' ahhh ' ;
string ( ' /^a.+/ ' )( $ value );100 : use function Chevere parameter int ;
$ value = 100 ;
int (min: 100 )( $ value ); use function Chevere parameter int ;
$ value = 1 ;
int (accept: [ 1 , 2 , 3 ])( $ value ); use function Chevere parameter float ;
$ value = 3.1 ;
float (reject: [ 1.1 , 2.1 ])( $ value ); use function Chevere parameter arrayp ;
use function Chevere parameter int ;
use function Chevere parameter string ;
$ value = [
' id ' => 1 ,
' name ' => ' Pepe '
];
arrayp (
id: int (min: 1 ),
name: string ( ' /^[A-Z]{1}w+$/ ' )
)( $ value );int itérable : use function Chevere parameter int ;
use function Chevere parameter iterable ;
$ value = [ 1 , 2 , 3 ];
iterable ( int ())( $ value ); use function Chevere parameter int ;
use function Chevere parameter iterable ;
$ value = [
' unila ' => 1 ,
' dorila ' => 2 ,
' tirifila ' => 3 ,
];
iterable (
K: string ( ' /ila$/ ' ),
V: int (min: 1 )
)( $ value ); use function Chevere parameter int ;
use function Chevere parameter null ;
$ value = 1 ;
union ( int (), null())( $ value );validated() pour obtenir un retour validé par rapport à toutes les règles. use function Chevere parameter validated ;
$ result = validated ( ' myFunction ' , $ var );reflectionTo parameter s() pour obtenir les règles de validation des arguments. use ReflectionMethod ;
use Chevere parameter Attributes IntAttr ;
use function Chevere parameter arguments ;
use function Chevere parameter reflectionTo parameter s ;
$ class = new class () {
public function wea (
#[IntAttr(accept: [ 1 , 10 , 100 ])]
int $ base
): void {
}
};
$ object = new $ class ();
$ reflection = new ReflectionMethod ( $ object , ' wea ' );
$ parameter s = reflectionTo parameter s ( $ reflection );
$ args = [ ' base ' => 10 ];
$ parameter s (... $ args ); // valid $args
$ result = $ object -> wea (... $ args );reflectionToReturn() pour obtenir les règles de validation de la valeur de retour de la fonction/méthode : use ReflectionFunction ;
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes ReturnAttr ;
use function Chevere parameter reflectionToReturn ;
$ function =
#[ReturnAttr(
new IntAttr (min: 1000 )
)]
function ( int $ base ): int {
return 10 * $ base ;
};
$ reflection = new ReflectionFunction ( $ function );
$ return = reflectionToReturn ( $ reflection );
$ base = 10 ;
$ result = $ function ( $ base );
$ result = $ return ( $ result ); // Validates result Utilisez valid() sur le corps de la fonction/méthode pour déclencher la validation des arguments.
Hugo , Paco , Luis :1000 : use Chevere parameter Attributes EnumAttr ;
use function Chevere parameter validate ;
function myEnum (
#[EnumAttr( ' Hugo ' , ' Paco ' , ' Luis ' )]
string $ name ,
#[FloatAttr(min: 1000 )]
float $ money
): void
{
valid ();
// Or single...
valid ( ' name ' );
valid ( ' money ' );
}
$ arg1 = ' Paco ' ;
$ arg2 = 1000.50 ;
myEnum ( $ arg1 , $ arg2 );0 et 100 : use Chevere parameter Attributes IntAttr ;
use function Chevere parameter validate ;
function myInt (
#[IntAttr(reject: [ 0 , 100 ])]
int $ id
): void
{
valid ();
}
$ value = 50 ;
myInt ( $ value ); use Chevere parameter Attributes ArrayAttr ;
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes StringAttr ;
use Chevere parameter Attributes IterableAttr ;
use function Chevere parameter validate ;
function myArray (
#[ArrayAttr(
id: new IntAttr (min: 1 ),
role: new ArrayAttr (
mask: new IntAttr (accept: [ 64 , 128 , 256 ]),
name: new StringAttr ( ' /[a-z]+/ ' ),
tenants: new IterableAttr (
new IntAttr (min: 1 )
)
),
)]
array $ spooky
): void
{
valid ();
}
$ value = [
' id ' => 10 ,
' role ' => [
' mask ' => 128 ,
' name ' => ' admin ' ,
' tenants ' => [ 1 , 2 , 3 , 4 , 5 ]
],
];
myArray ( $ value ); use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes IterableAttr ;
use function Chevere parameter validate ;
function myIterable (
#[IterableAttr(
new IntAttr (),
)]
array $ list = [ 0 , 1 , 2 ]
): void
{
valid ();
} Utilisez la fonction returnAttr() sur le corps de la fonction/méthode.
min: 0, max: 5 return : use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes ReturnAttr ;
use function Chevere parameter returnAttr ;
#[ReturnAttr(
new IntAttr (min: 0 , max: 5 )
)]
public function myReturnInt (): int
{
$ result = 1 ;
return returnAttr ()( $ result );
} use Chevere parameter Attributes ArrayAttr ;
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes StringAttr ;
use Chevere parameter Attributes ReturnAttr ;
use function Chevere parameter returnAttr ;
#[ReturnAttr(
new ArrayAttr (
id: new IntAttr (min: 0 ),
name: new StringAttr ()
)
)]
public function myReturnArray (): array
{
$ result = [
' id ' => 1 ,
' name ' => ' Peoples Hernandez '
];
return returnAttr ()( $ result );
} Par convention, en omettant ReturnAttr , la méthode public static function return(): parameter Interface (le cas échéant) sera utilisé pour déterminer les règles de validation de retour.
La documentation est disponible sur chevere.org.
Copyright Rodolfo Berrios A.
Chevere est sous licence Apache, version 2.0. Voir LICENCE pour le texte complet de la licence.
Sauf disposition contraire de la loi applicable ou accord écrit, le logiciel distribué sous la licence est distribué « EN L'ÉTAT », SANS GARANTIE OU CONDITION D'AUCUNE SORTE, expresse ou implicite. Consultez la licence pour connaître la langue spécifique régissant les autorisations et les limitations en vertu de la licence.