You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: utils/cs/cast.texy
+13-9Lines changed: 13 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -76,22 +76,26 @@ Následující tabulka shrnuje, jak funguje konverze různých typů vstupních
76
76
77
77
Třída `Cast` funguje podobně jako nativní type-juggling v PHP, ale s několika důležitými rozdíly, které ji činí bezpečnější a předvídatelnější alternativou:
78
78
79
+
vyžaduje přesný formát řetězců bez dodatečných znaků
79
80
```php
80
-
// vyžaduje přesný formát řetězců bez dodatečných znaků
81
81
Cast::toInt('123abc'); // vyhodí TypeError
82
82
Cast::toInt(''); // vyhodí TypeError
83
-
84
-
// zabraňuje ztrátě informace z čísla
83
+
```
84
+
zabraňuje ztrátě informace z čísla
85
+
```php
85
86
Cast::toInt(123.4); // vyhodí TypeError
86
87
Cast::toInt(PHP_INT_MAX + 1); // vyhodí TypeError
87
-
88
-
// neumožňuje přetypování polí ani objektů na skalární typy
88
+
```
89
+
neumožňuje přetypování polí ani objektů na skalární typy
90
+
```php
89
91
Cast::toInt([]); // vyhodí TypeError
90
-
91
-
// neumožňuje přetypování objektů na pole
92
+
```
93
+
neumožňuje přetypování objektů na pole
94
+
```php
92
95
Cast::toArray($obj) === [$obj]; // obalí objekt do jednoprvkového pole
93
-
94
-
// nedochází ke zkreslení při přetypování na string
96
+
```
97
+
nedochází ke zkreslení při přetypování na string
98
+
```php
95
99
Cast::toString(1.0) === '1.0'; // PHP by vrátilo '1'
96
100
Cast::toString(false) === '0'; // PHP by vrátilo ''
0 commit comments