parameter 는 유효성 검사 규칙 및 스키마 검사를 통해 추가 기능을 제공하는 parameter 인수 관련 라이브러리입니다.
parameter Packagist를 통해 제공되며 저장소 소스는 chevere/ parameter 에 있습니다.
composer require chevere/ parameter parameter 사용하면 추가 규칙을 사용하여 모든 유형의 동적 parameter 생성할 수 있습니다.
예를 들어 최소값 10의 정수입니다.
use function Chevere parameter int ;
$ int = int (min: 10 );
$ int ( $ var ); // exception if $var < 10함수 또는 메소드 parameter 변수에서 속성을 사용하여 parameter 변수 및 반환 값에 대한 유효성 검사 규칙을 정의할 수 있습니다.
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 ); 유효성 검사는 validated (위의 예), 인라인 및/또는 호출자 래퍼에 위임을 사용하여 트리거될 수 있습니다. parameter 연결 프로세스를 쉽게 하기 위해 parameter 변수와 반환 값 모두에 대한 규칙에 액세스할 수 있는 도우미를 제공합니다.
각 parameter 로 정의된 규칙은 검증 기준을 노출할 수 있는 사람이 읽을 수 있는 스키마를 제공합니다.
parameter 함수 및/또는 속성을 사용하여 parameter 변수를 생성하는 데 사용할 수 있는 API를 제공합니다. parameter 개체는 논리에서 직접 사용할 수 있지만 속성에는 읽기 단계가 필요합니다.
다음에서 이동하려면 인라인 유효성 검사를 사용하세요.
if ( $ var > 10 || $ var < 1 ) {
throw new InvalidArgumentException ();
}이에 대해:
use function Chevere parameter int ;
int (min: 1 , max: 10 )( $ var );속성을 사용하여 parameter 및 반환 값에 대한 규칙을 정의합니다.
다음에서 이동하려면 validated() 함수와 함께 속성 위임 유효성 검사를 사용하세요.
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 );이에 대해:
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 ); 인수 및 반환 값을 수동으로 확인하려면 reflectionTo parameter s 및 reflectionToReturn 함수를 사용하세요.
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 $result함수 본문 내에서 수동 검증을 위해 속성 인라인 검증을 사용하십시오.
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
}PHP의 속성은 클래스 상수에 사용할 수 있는 표현식만 지원합니다. 속성을 사용하여 동적 parameter 를 직접 정의하는 것은 불가능합니다.
이러한 제한을 피하기 위해 parameter Interface 인스턴스를 반환하는 콜러블에 parameter 확인을 전달할 수 있는 CallableAttr 속성을 사용할 수 있습니다.
use Chevere parameter Interfaces parameter Interface ;
use Chevere parameter Attributes CallableAttr ;
function myCallable (): parameter Interface
{
return arrayp (
email: string (),
)-> withOptional (
name: string (),
);
}
#[CallableAttr( ' myCallable ' )] parameter 는 parameter Interface 구현하는 객체입니다. 모든 parameter description 과 default 은 물론 유형에 따른 추가 유효성 검사 규칙을 정의할 수 있습니다.
parameter 함수 및/또는 속성을 사용하여 정의할 수 있으며 두 가지 모두에 대해 동일한 인수를 사용합니다.
$param('value') parameter 호출하면 전달된 인수에 대한 유효성 검사가 트리거됩니다.
함수 string 사용하여 String parameter 생성합니다. 문자열 일치를 위한 regex 전달합니다.
use function Chevere parameter string ;
// Any string
$ string = string ();
// String matching bin-<digits>
$ string = string ( ' /^bin-[d]+$/ ' );
$ string ( ' bin-123 ' ); StringAttr 속성을 사용하여 문자열 parameter 정의합니다.
use Chevere parameter Attributes StringAttr ;
#[StringAttr( ' /^bin-[d]+$/ ' )]다음 parameter 변수는 문자열을 기반으로 합니다.
함수 enum 사용하여 문자열 목록과 일치하는 String parameter 만듭니다.
use function Chevere parameter enum ;
$ enum = enum ( ' on ' , ' off ' );
$ enum ( ' on ' );
$ enum ( ' off ' ); EnumAttr 속성을 사용하여 열거형 문자열 parameter 정의합니다.
use Chevere parameter Attributes EnumAttr ;
#[EnumAttr( ' on ' , ' off ' )] intString 함수를 사용하여 문자열 정수와 일치하는 String parameter 만듭니다.
use function Chevere parameter intString ;
$ int = intString ();
$ int ( ' 100 ' ); boolString 함수를 사용하여 0 및 1 문자열과 일치하는 String parameter 생성합니다.
use function Chevere parameter boolString ;
$ bool = boolString ();
$ bool ( ' 0 ' );
$ bool ( ' 1 ' ); date 함수를 사용하여 YYYY-MM-DD 문자열과 일치하는 String parameter 생성합니다.
use function Chevere parameter date ;
$ date = date ();
$ date ( ' 2021-01-01 ' ); 함수 time 사용하여 hh:mm:ss 문자열과 일치하는 String parameter 생성합니다.
use function Chevere parameter time ;
$ time = time ();
$ time ( ' 12:00:00 ' ); datetime 함수를 사용하여 YYYY-MM-DD hh:mm:ss 문자열과 일치하는 String parameter 생성합니다.
use function Chevere parameter datetime ;
$ datetime = datetime ();
$ datetime ( ' 2024-01-09 10:53:00 ' ); int 함수를 사용하여 Int parameter 만듭니다. 정수 범위의 min 과 max 값을 전달하고, 허용되는 정수 목록을 accept , 거부된 정수 목록을 reject .
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 ); IntAttr 속성을 사용하여 정수 parameter 정의합니다.
use Chevere parameter Attributes IntAttr ;
#[IntAttr(min: 0 , max: 100 )]다음 parameter 변수는 Int를 기반으로 합니다.
boolInt 함수를 사용하여 0 및 1 정수와 일치하는 Int parameter 만듭니다.
use function Chevere parameter boolInt ;
$ bool = boolInt ();
$ bool ( 0 );
$ bool ( 1 ); Float parameter 생성하려면 float 함수를 사용하십시오. 부동 소수점 범위에 대한 min 및 max 값을 전달하고 허용되는 부동 소수점 목록을 accept 하고 거부된 부동 소수점 목록을 reject .
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 ); FloatAttr 속성을 사용하여 부동 parameter 정의합니다.
use Chevere parameter Attributes FloatAttr ;
#[FloatAttr(min: 0 , max: 100 )] Bool parameter 생성하려면 bool 함수를 사용하십시오.
use function Chevere parameter bool ;
$ bool = bool ();
$ bool ( true );
$ bool ( false ); BoolAttr 속성을 사용하여 bool parameter 정의합니다.
use Chevere parameter Attributes BoolAttr ;
#[BoolAttr] Null parameter 생성하려면 null 함수를 사용하세요.
use function Chevere parameter null ;
$ null = null ();
$ null ( null ); NullAttr 속성을 사용하여 null parameter 정의합니다.
use Chevere parameter Attributes NullAttr ;
#[NullAttr] 함수 object 사용하여 Object parameter 만듭니다. 객체 클래스 이름으로 className을 전달합니다.
use function Chevere parameter object ;
$ object = object (stdClass::class);
$ object ( new stdClass ()); ObjectAttr 속성을 사용하여 객체 parameter 정의합니다.
use Chevere parameter Attributes ObjectAttr ;
#[ObjectAttr(stdClass::class)] Mixed parameter 생성하려면 mixed 함수를 사용하십시오.
use function Chevere parameter mixed ;
$ mixed = mixed ();
$ mixed ( 1 );
$ mixed ( ' 1 ' );
$ mixed ( true );
$ mixed ( null ); Union parameter 생성하려면 union 함수를 사용하세요. 일치시킬 parameter 목록을 전달하세요. 대상 값은 하나 이상 일치해야 합니다.
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 ); 유형 array 의 parameter 해당 멤버 각각 에 대한 parameter 정의를 보유하는 복합 parameter 로 처리됩니다.
arrayp 함수를 사용하여 명명된 인수에 대한 Array parameter 필수 배열 키로 생성합니다.
use function Chevere parameter arrayp ;
// Empty array
$ array = arrayp ();
$ array ([]);
// Required 'a' => <string>
$ array = arrayp (a: string ());
$ array ([ ' a ' => ' Hello world ' ]);parameter 모든 깊이의 중첩 배열을 지원합니다.
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 ,
]
]); ArrayAttr 속성을 사용하여 배열 parameter 정의합니다.
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 (),
),
)] 필수 parameter 변수를 정의하려면 withRequired 메소드를 사용하세요.
$ array = $ array
-> withRequired (
username: string (),
email: string ()
); 선택적 parameter 를 정의하려면 withOptional 메소드를 사용하세요.
$ array = $ array
-> withOptional (address: string ());참고: 선택적 parameter 변수는 일치하는 키가 제공되는 경우에만 유효성이 검사됩니다.
수정 parameter 변수를 정의하려면 withModify 메소드를 사용하세요.
$ array = $ array
-> withModify (
username: string ( ' /w+/ ' ),
); 필수 parameter 를 선택사항으로 만들려면 withMakeOptional 메소드를 사용하세요.
$ array = $ array
-> withMakeOptional ( ' username ' ); 선택적 parameter 변수를 필수로 만들려면 withMakeRequired 메소드를 사용하세요.
$ array = $ array
-> withMakeRequired ( ' email ' ); parameter 를 제거 without 메소드를 사용하십시오.
$ array = $ array
-> without ( ' a ' ); 선택적 parameter 의 최소 개수를 정의하려면 withOptionalMinimum 메소드를 사용하세요. 모든 parameter 변수가 선택사항이지만 1인 경우에 유용합니다.
$ array = $ array
-> withOptionalMinimum ( 1 );다음 parameter 변수는 배열을 기반으로 합니다.
문자열 값에 대한 ArrayString parameter Interface 생성하려면 arrayString 함수를 사용하십시오. 문자열 parameter 변수만 지원합니다.
use function Chevere parameter arrayString ;
use function Chevere parameter string ;
$ array = arrayString (
test: string (),
);
$ array ([ ' test ' => ' foo ' ]); 함수 file 사용하여 파일 업로드를 위한 Array parameter 생성합니다.
use function Chevere parameter file ;
$ array = file ();
$ file = [
' name ' => ' foo.txt ' ,
' type ' => ' text/plain ' ,
' tmp_name ' => ' /tmp/phpYzdqkD ' ,
' error ' => 0 ,
' size ' => 123 ,
];
$ array ( $ file ); 기본적으로 $_FILES 모양에 대한 유효성 검사를 제공하지만 고유한 유효성 검사 규칙을 정의할 수 있습니다. 예를 들어 이름과 내용을 확인하려면 다음을 수행하세요.
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 ' ,
); 반복 가능한 유형 Traversable|array 키와 값에 대한 일반 정의를 보유하는 복합 parameter 로 간주됩니다. parameter 하면 동일한 모양을 공유하는 항목 컬렉션을 설명할 수 있습니다.
iterable 함수를 사용하여 Iterable parameter 생성합니다. 일반 키와 값에 대해 V 및 K parameter 를 전달합니다.
use function Chevere parameter int ;
use function Chevere parameter iterable ;
$ iterable = iterable ( int (min: 0 ));
$ iterable ([ 0 , 1 , 2 , 3 ]);또한 명명된 키와도 작동합니다.
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 '
],
]); parameter s 인스턴스를 생성하려면 함수 parameter s 사용하세요.
use function Chevere parameter s parameter s ;
use function Chevere parameter s string ;
$ parameter s = parameter s (foo: string ()); 함수 arguments 사용하여 Arguments 인스턴스를 만듭니다.
use function Chevere parameter s arguments ;
use function Chevere parameter s string ;
$ arguments = arguments ( $ parameter s , [ ' foo ' => ' bar ' ]); 이름이 지정된 인수를 주장하려면 assertNamedArgument 함수를 사용하세요.
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
); 유형 문자열에서 parameter Interface 인스턴스를 생성하려면 to parameter 함수를 사용하세요. 아래 예에서 결과 $ parameter Int parameter 됩니다.
use function Chevere parameter s to parameter ;
$ parameter = to parameter ( ' int ' ); arrayFrom 함수를 사용하여 다른 배열 parameter 에서 배열 매개 parameter 생성합니다. 아래 예에서 결과 $array 에는 $source 에 정의된 name 및 id 키만 포함됩니다.
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 ' ); parameter 에서 키가 포함된 배열을 검색하려면 takeKeys 함수를 사용하세요. 아래 예에서 $keys 에는 id 와 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 ); parameter 에서 원하는 키가 있는 반복자를 검색하려면 takeFrom 함수를 사용하세요. 아래 예에서 $iterator size 및 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 ' ); parameter 에서 원하는 키가 있는 parameter s 생성하려면 함수 parameter sFrom 사용하세요. 아래 예에서 $ parameter s 에는 size 및 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 ' ); get parameter s 함수를 사용하여 parameter AccessInterface 또는 parameter sInterface 구현하는 객체에서 parameter s 인스턴스를 검색합니다.
use function Chevere parameter s get parameter s ;
$ parameter s = get parameter s ( $ object ); 이 라이브러리에 알려진 유형을 검색하려면 getType 함수를 사용하세요.
use function Chevere parameter s getType ;
$ type = getType ( 1 ); // int 함수 또는 클래스 메소드 parameter 에서 parameter AttributeInterface 구현하는 객체를 검색하려면 함수 parameter Attr 사용합니다.
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 ' ); ReflectionFunction 또는 ReflectionMethod 인스턴스에서 parameter s 인스턴스를 검색하려면 reflectionTo parameter s 함수를 사용하세요.
use function Chevere parameter reflectionTo parameter s ;
$ parameter s = reflectionTo parameter s ( $ reflection ); ReflectionFunction 또는 ReflectionMethod 인스턴스에서 parameter Interface 인스턴스를 검색하려면 reflectionToReturn 함수를 사용하세요.
use function Chevere parameter reflectionToReturn ;
$ parameter = reflectionToReturn ( $ reflection ); Reflection parameter 인스턴스에서 parameter AttributeInterface 구현하는 객체를 검색하려면 함수 reflected parameter Attribute 사용하세요.
use function Chevere parameter reflected parameter Attribute ;
$ parameter Attribute = reflected parameter Attribute ( $ reflection parameter ); 함수 또는 메서드 인수의 유효성을 검사하려면 validated 함수를 사용하세요.
use function Chevere parameter validated ;
$ result = validated ( ' myFunction ' , $ arg1 , $ arg2 ,); use function Chevere parameter string ;
$ value = ' ahhh ' ;
string ( ' /^a.+/ ' )( $ value );100 의 int를 검증합니다. 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 목록의 유효성을 검사합니다. 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() 함수를 사용하세요. use function Chevere parameter validated ;
$ result = validated ( ' myFunction ' , $ var );reflectionTo parameter s() 를 사용하십시오. 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() 함수를 사용하십시오. 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 인수에 대한 유효성 검사를 트리거하려면 함수/메서드 본문에서 valid() 사용하세요.
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 과 100 제외한 모든 값의 int를 검증합니다. 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 ();
} 함수/메서드 본문에서 returnAttr() 함수를 사용하세요.
min: 0, max: 5 확인 반환: 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 );
} 관례적으로 ReturnAttr 생략할 때 public static function return(): parameter Interface (있는 경우) 메소드를 사용하여 반환 유효성 검사 규칙을 결정합니다.
문서는 chevere.org에서 확인할 수 있습니다.
저작권 Rodolfo Berrios A.
Chevere는 Apache 라이센스 버전 2.0에 따라 라이센스가 부여됩니다. 전체 라이선스 텍스트는 LICENSE를 참조하세요.
해당 법률에서 요구하거나 서면으로 동의하지 않는 한, 라이선스에 따라 배포되는 소프트웨어는 명시적이든 묵시적이든 어떠한 종류의 보증이나 조건 없이 "있는 그대로" 배포됩니다. 라이선스에 따른 허가 및 제한 사항을 관리하는 특정 언어는 라이선스를 참조하세요.