PHP.mk документација

DelayedTargetValidation

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

class.delayedtargetvalidation.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека class.delayedtargetvalidation.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
DelayedTargetValidation

Референца за `class.delayedtargetvalidation.php` со подобрена типографија и навигација.

class.delayedtargetvalidation.php

The DelayedTargetValidation attribute

Атрибутот DelayedTargetValidation

Вовед

(PHP 8 >= 8.5.0)

Овој атрибут го одложува валидирањето на грешките на целниот атрибут за внатрешни атрибути од време на компилација до кога атрибутот ќе биде инстанциран преку Reflection API. , осигурувајќи дека валидацијата на аргументите се случува во тој момент..

Кога се применува на декларација, секоја невалидна употреба на внатрешни атрибути на истата цел нема да предизвика грешка при компилација. Наместо тоа, валидацијата се одложува и се извршува кога атрибутот ќе биде инстанциран преку

Синопсис на класата

(PHP 8)
final class DelayedTargetValidation {
}

Примери

Ова е наменето првенствено за компатибилност со идни верзии, дозволувајќи му на кодот да користи атрибути кои може да добијат дополнителни валидни цели во идните верзии на PHP без да се прекине на постари верзии.

<?php

class Base {
protected function
foo(): void {}
}

class
Child extends Base {

#[
\DelayedTargetValidation]
#[
\Override]
public const
NAME = 'child';

#[
\Override]
protected function
foo(): void {}
}

Пример #1 Одложување на валидацијата на невалидна цел Надминување На PHP верзии каде што

не е дозволено на константите на класата, ова не произведува грешка при компилација.

<?php

$reflection
= new ReflectionClassConstant(Child::class, 'NAME');

foreach (
$reflection->getAttributes() as $attribute) {
$attribute->newInstance(); // May throw if invalid
}

Пример #2 Валидацијата се случува за време на рефлексија , осигурувајќи дека валидацијата на аргументите се случува во тој момент.Кога било кој атрибут применет на истата цел (освен самиот DelayedTargetValidation) ќе биде инстанциран преку рефлексија користејќи

Белешки

, се врши валидација на целта и може да се фрли исклучок ако атрибутот се користи на неподдржана цел.

Овој атрибу влијае само на валидацијата на целта на внатрешните атрибути. Надминување Тој не ги потиснува функционалните валидации извршени од тие атрибути. На пример,

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.