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

ОсновниENUMЕРАЦИИ

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

language.enumerations.basics.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека language.enumerations.basics.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
ОсновниENUMЕРАЦИИ

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

language.enumerations.basics.php

ОсновниENUMЕРАЦИИ

Енумите се слични на класи и ги делат истите именски простори како класи, интерфејси и трајти. Тие се исто така авто-вчитани на ист начин. Енум дефинира нов тип, кој има фиксен, ограничен број на можни легални вредности.

<?php

enum Suit
{
case
Hearts;
case
Diamonds;
case
Clubs;
case
Spades;
}
?>

Енумите се слични на класи и ги делат истите именски простори како класи, интерфејси и трајти. Тие исто така се вчитуваат на истиот начин. Енум дефинира нов тип, кој има фиксен, ограничен број на можни легални вредности. Suit, што има четири и само четири легални вредности:, а променливите можат да бидат доделени на една од тие легални вредности. Функцијата може да биде тип-проверена против изброен тип, во кој случај може да се поминат само вредности од тој тип. Suit::Hearts, Suit::Diamonds, Suit::ClubsПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во Suit::Spadesдефиниции, без максимум. Енум со нула случаи е синтаксички валиден, иако прилично бескорисен.

<?php

function pick_a_card(Suit $suit)
{
/* ... */
}

$val = Suit::Diamonds;

// OK
pick_a_card($val);

// OK
pick_a_card(Suit::Clubs);

// TypeError: pick_a_card(): Argument #1 ($suit) must be of type Suit, string given
pick_a_card('Spades');
?>

За случаите на Енумерација, истите правила за синтакса важат како и за секоја ознака во PHP, видете case . Наместо тоа, секој случај е поддржан од синглтон објект со тоа име. Тоа значи дека:

едни со други, бидејќи тие споредби не се значајни на објекти. Тие споредби секогаш ќе враќаат Константи.

при работа со вредности на енуми. Suit::Hearts не е еднакво на "0"Овој тип на случај, без поврзани податоци, се нарекува „Чист случај“. Енум што содржи само чисти случаи се нарекува Чист Енум.

<?php

$a
= Suit::Spades;
$b = Suit::Spades;

$a === $b; // true

$a instanceof Suit; // true

$a !== 'Spades'; // true
?>

Сите чисти случаи се имплементирани како инстанци на нивниот енум тип. Енум типот е претставен внатрешно како класа. < or > , што е името на самиот случај, чувствително на големи и мали букви. false исто така е можно да се користат

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

Треба да работи за повеќето случаи на употреба.

Сите случаи имаат само-читачка својство, name, што е името на самиот случај, чувствително на големи и мали букви.

<?php

print Suit::Spades->name;
// prints "Spades"
?>

Исто така е можно да се користи defined() and constant() функции за проверка на постоењето или читање на случај на енум ако името се добие динамички. Ова, сепак, се обесхрабрува бидејќи користењето Поткрепени енуми треба да работи за повеќето случаи на употреба.

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

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

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

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

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

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

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