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를 참조하세요.
해당 법률에서 요구하거나 서면으로 동의하지 않는 한, 라이선스에 따라 배포되는 소프트웨어는 명시적이든 묵시적이든 어떠한 종류의 보증이나 조건 없이 "있는 그대로" 배포됩니다. 라이선스에 따른 허가 및 제한 사항을 관리하는 특정 언어는 라이선스를 참조하세요.