DateTimeImmutable::getLastErrors
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::getLastErrors β ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
public static function DateTimeImmutable::getLastErrors():
array|false
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π‘ΠΈΠ³Π½Π°ΡΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡΡ
ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
,
ΠΈΠ»ΠΈ false, Π΅ΡΠ»ΠΈ Π½Π΅Ρ Π½ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, Π½ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ°Π·Π±ΠΎΡΠ° ΡΡΡΠΎΠΊΠΈ Ρ Π΄Π°ΡΠΎΠΉ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ DateTimeImmutable::getLastErrors()
<?php
try {
$date = new DateTimeImmutable('asdfasdf');
} catch (Exception $e) {
// ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ΅Π»ΡΡ
β¦
print_r(DateTimeImmutable::getLastErrors());
// β¦Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΡΠΈΠ»Π΅ Π»ΡΡΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΡ ΡΠ°ΠΊ:
echo $e->getMessage();
}
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
Array
(
[warning_count] => 1
[warnings] => Array
(
[6] => Double timezone specification
)
[error_count] => 1
[errors] => Array
(
[0] => The timezone could not be found in the database
)
)
Failed to parse time string (asdfasdf) at position 0 (a): The timezone could not be found in the database
ΠΠ½Π΄Π΅ΠΊΡΡ 6 ΠΈ 0 Π² Π²ΡΠ²ΠΎΠ΄Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΡΡΡΠΎΠΊΠ΅ ΡΠ°Π·Π±ΠΎΡΠ°,
Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΈΠΌΠ΅Ρ #2 ΠΡΠΈΠΌΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Ρ
<?php
$date = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-02-30');
print_r(DateTimeImmutable::getLastErrors());
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
Array
(
[warning_count] => 1
[warnings] => Array
(
[10] => The parsed date was invalid
)
[error_count] => 0
[errors] => Array
(
)
)