Систем на типови
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Систем на типови
Референца за `language.types.type-system.php` со подобрена типографија и навигација.
Систем на типови
PHP користи номинален тип систем со силна релација на подтипови на однесување. Релацијата на подтипови се проверува во време на компилација, додека проверката на типови се врши динамички во време на извршување.
Тип системот на PHP поддржува различни атомски типови кои можат да се комбинираат заедно за да се создадат посложени типови. Некои од овие типови можат да се напишат како декларации на типови.
Атомски типови
Некои атомски типови се вградени типови кои се тесно интегрирани со јазикот и не можат да се репродуцираат со типови дефинирани од корисникот.
Листата на основни типови е:
-
Вградени типови
- Скаларни типови:
- array type
- object type
- resource type
- never type
- void type
- Релативни типови на класи: self, parentПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во static
- Типови на самотници
- Единични типови
- Типови дефинирани од корисникот (општо познати како тип-класи)
- callable type
Типови дефинирани од корисникот
Можно е да се дефинираат прилагодени типови со
interfaces,
classes and
enumerations. Овие се сметаат за типови дефинирани од корисникот, или тип-класи. На пример, класа наречена Elephant може да биде дефинирана, потоа објекти од тип Elephant може да бидат инстанцирани, и функцијата може да бара параметар од тип Elephant.
Композитни типови
Можно е да се комбинираат повеќе атомски типови во композитни типови. PHP дозволува типовите да се комбинираат на следниве начини:
- Intersection of class-types (interfaces and class names).
- Пресек на типови на класи (интерфејси и имиња на класи).
Унија на типови.
Типови на пресек
& Тип на пресек прифаќа вредности кои задоволуваат повеќе декларации на типови на класи, наместо само една. Индивидуалните типови кои го сочинуваат типот на пресек се споени со T, UПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во
V симбол. Затоа, тип на пресек составен од типови T&U&V.
ќе биде напишан како
Типови на унија
| Тип на унија прифаќа вредности од повеќе различни типови, наместо само еден. Индивидуалните типови кои го сочинуваат типот на унија се споени со T, UПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во
V симбол. Затоа, тип на пресек составен од типови T|U|Vсимбол. Затоа, тип на унија составен од типови DNF:
T|(X&Y).