ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ php ΡΠ°ΠΉΠ» Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΡΠ΅ΡΡ PHP, JS ΠΈ CSS ΠΊΠΎΠ΄Π°
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π² ΡΠΊΠ»Π°Π΄ΡΠΈΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°. ΠΡΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΡΠ΅ΡΡ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π°Ρ Π²Π΅Π±-ΠΊΠΎΠ΄ Π΅ΡΠ΅ Π΄ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ΅, Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ Β«ΠΏΠΎΡΠΈΠΊΡΠΈΡΡΒ» Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ Π²Π΅ΡΡΠΈΡ PHP ΠΈ Π΄Π°ΠΆΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ CSS ΠΈΠ»ΠΈ Java Script.
PHPTester
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ php-ΠΊΠΎΠ΄ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΏΡΡΠΌΠΎ Π² Π²Π°ΡΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ PHP: 5.5, 5.6, 7.0
Π‘ΡΡΠ»ΠΊΠ°: //phptester.net/
PHP Sandbox
ΠΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΡΡ Π²Π΅ΡΡΠΈΡ PHP β ΠΎΡ 4.4.9 Π΄ΠΎ 7.4.
Π‘ΡΡΠ»ΠΊΠ°: http://sandbox.onlinephpfunctions.com/
PHP Online Test
Π£Π΄ΠΎΠ±Π½ΡΠΉ ΡΠ΅ΡΡΠ΅Ρ Ρ ΠΏΡΠΈΡΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΅ΡΠ΅ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»ΡΡΠ΅ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ PHP Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, API, Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΡ/ΡΠ½ΠΊΠΎΠ΄Π΅ΡΡ. ΠΠ½Π΅ ΠΎΠ½ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΡΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ.
Π‘ΡΡΠ»ΠΊΠ°: //phpfiddle.org/
PHP syntax checker
ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π² PHP-ΠΊΠΎΠ΄Π΅. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ°ΠΉΠ»Π°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΈΠΉ PHP: 5.3, 5.4, 5.5, 5.6, 7.1
Π‘ΡΡΠ»ΠΊΠ°: https://extendsclass.com/php-tester.html
JS.DO β Online JavaScript Editor
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ Π·Π° ΡΠ΅Π±Ρ β ΡΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡ ΡΠ΅ΡΡΠΈΡΡΠ΅Ρ Π²Π°Ρ JS-ΠΊΠΎΠ΄. ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ URL-Π°Π΄ΡΠ΅Ρ ΡΠ°ΠΉΠ»Π° Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ Π²ΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ β jQuery, Bootstrap.
Π‘ΡΡΠ»ΠΊΠ°: https://js.do/
CSSDesk
ΠΠ°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡ. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ CSS-ΠΊΠΎΠ΄ΠΎΠΌ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠ°Π·Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠΎΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ. Π Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½ΡΠΉ. ΠΠΎΠ²ΠΈΡΠΊΡ, ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ!
ΠΠ°ΠΊ ΠΈ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² PHP ΠΊΠΎΠ΄Π΅?
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΏΠΎΡΠΎΠΉ, ΠΊΠΎΠ΄ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π‘ΠΈΠΆΡ, Π³Π°Π΄Π°Ρ: ΡΡΠΎ ΠΈ Π³Π΄Π΅ Π½Π΅ ΡΠ°ΠΊ?
Π ΠΈΡΠΎΠ³Π΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠ΅Π»ΠΊΠ°Ρ, Π΄ΡΡΠ°ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠ°, ΠΎΡΠΈΠ±ΠΊΠ° Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΈ ΠΏΡΠΎΡΠ΅Π΅. ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ ΡΠ°ΠΊ Π½Π΅ ΡΡΠ°Π½Π΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅ΡΡΠ½Π΄Π΅ Π±Π΅Π³Π°ΡΡ ΠΏΠΎ ΡΠ΅ΡΡΡΡΠ°ΠΌ. Π Ρ Ρ ΠΎΡΡ ΠΈΠΌ Π±ΡΡΡ.
ΠΠΎΠΏΡΠΎΡ: ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π² PHP ΠΊΠΎΠ΄Π΅? ΠΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΏΡΡΠΈ ΠΈ ΠΏΡ.?
6 ΠΎΡΠ²Π΅ΡΠΎΠ² 6
ΠΡΠ΅ΡΠ° Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ / ΠΠΎΠ΄ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ
Debugging (ΠΡΠ»Π°Π΄ΠΊΠ°)
Π ΡΠ΅ΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ? Π§ΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅?
ΠΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, ΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π² ΡΡΠ½ΠΊΡΠΈΡΡ , Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΡΠ°; ΠΈΡΠ΅ΠΌ ΡΠ΅ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΡΡΡ ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ.
ΠΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Ρ PHPStorm, Π½ΠΎ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π² Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ IDE.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π² PHP ΠΈΠΌΠ΅Π»Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ xdebug. ΠΡΠ»ΠΈ Π΅Ρ Π΅ΡΠ΅ Π½Π΅Ρ, ΡΠΎ Π½Π°Π΄ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π½Π° xdebug.org.
ΠΠ°Π»Π΅Π΅ Π² php.ini ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ.
Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Add new local server
ΠΠ°ΠΏΡΡΠΊ
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Ρ.ΠΊ. ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ°Π·Ρ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΡΠΎ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Debug β ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ «Π·Π°ΠΌΠΎΡΠΎΠ·ΠΈΡΡΡ» Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΆΠ΅ Π±ΡΠ΅ΠΉΠΊΠΏΠΎΠΉΠ½ΡΠ΅. Π ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΊΠΎΠ΄Π° (ΠΊΠ»ΠΈΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° POST-Π·Π°ΠΏΡΠΎΡΠ° Ρ ΡΠΎΡΠΌΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ).
ΠΡΠΎΡΠ΅ΡΡ
ΠΠ»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΡΠΌ. ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ΅, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π·Π΅Π»Π΅Π½ΡΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ) ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ (ΡΠΌ. ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ΅, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΎΡΠ°Π½ΠΆΠ΅Π²ΡΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ).
Show Execution Point ( Alt+F10 ) β ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΈ ΡΠ΅ΠΊΡΡΡΡ Π»ΠΈΠ½ΠΈΡ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ, ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΎ Π² Π΄ΡΡΠ³ΠΈΡ Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ , Π° ΠΏΠΎΡΠΎΠΌ Π·Π°Π±ΡΠ»ΠΈ Π³Π΄Π΅ Ρ Π²Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° π
Step Over ( F8 ) β Π΄Π΅Π»Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³, Π½Π΅ Π·Π°Ρ ΠΎΠ΄Ρ Π²Π½ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’.Π΅. Π΅ΡΠ»ΠΈ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π»ΠΈΠ½ΠΈΠΈ Π΅ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎ ΠΏΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Ρ ΠΎΠ΄ΠΈΡΡ Π²Π½ΡΡΡΡ Π½Π΅Ρ.
Step Into ( F7 ) β Π΄Π΅Π»Π°Π΅Ρ ΡΠ°Π³. ΠΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ), ΡΠΎ Π·Π°Ρ ΠΎΠ΄ΠΈΡ Π²Π½ΡΡΡΡ Π½Π΅Ρ.
Step Out ( Shift+F8 ) β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π£Π΄ΠΎΠ±Π½ΠΎ, Π΅ΡΠ»ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π²ΠΎΡΠ»ΠΈ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΈ Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΈΠ· Π½Π΅Π³ΠΎ Π²ΡΠΉΡΠΈ, Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΡ.
Rerun ( Ctrl+F5 ) β ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ.
Resume Program( F9 ) β ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ. Π ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
Stop ( Ctrl+F2 ) β Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ.
View Breakpoints ( Ctrl+Shift+F8 ) β ΠΏΡΠΎΡΠΌΠΎΡΡ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π±ΡΠ΅ΠΉΠΊΠΏΠΎΠΉΠ½ΡΠΎΠ².
Mute Breakpoints β ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π±ΡΠ΅ΠΉΠΊΠΏΠΎΠΉΠ½ΡΡ.
ΠΡΠ°ΠΊ, Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π²ΠΈΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΡ F8 ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΡΡ Π»ΠΈΠ½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΡΠΎΠΊΠΈ 11, 12 ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, 15.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ
ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ² Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ, Π° Π½Π΅ Π²ΡΠ΅Π³Π΄Π° (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ).
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅?
2. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΠ Π½Π°Π΄ΠΎ Π΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΠΎΠΎΠ±ΡΠ°Π»Π° ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ .
ΠΠ»Ρ mysqli, ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΠΌ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΡΡΠΎΡΠΊΠ°
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ PDO, ΡΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π·Π΄Π΅ΡΡ: http://phpfaq.ru/pdo
5. ΠΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ Π²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (ΠΊΡΠΊΠΈ, ΡΠ΅ΡΡΠΈΠΈ, Π·Π°ΠΏΡΠΎΡΡ)- Π² ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΠ±ΠΌΠ΅Π½ HTTP Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ
6. ΠΠ°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΡΡΡΠΎΡΠΊΡ Ρ header(«Location:»), Π΅ΡΠ»ΠΈ ΠΈΡΠ΅ΡΠ΅ ΠΎΠ±ΡΠΈΠ±ΠΊΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ POST Π·Π°ΠΏΡΠΎΡΠ°
8. Π Π‘ΠΠΠΠ ΠΠΠΠΠΠ: Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΠΊΡΠΈΠΏΡ, ΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π΅ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π±ΡΠ°ΡΠ·Π΅Ρ, Π° ΠΠ‘Π₯ΠΠΠΠ«Π HTML ΠΊΠΎΠ΄!.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅?
ΠΠ°ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡ Π½Π° 100% Π΄ΠΎΠ²Π΅ΡΡΠ΅ΡΡ, ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° ΡΠΎΡΠ΅Π΄Π½Π΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΊΠ°ΠΊ ΡΠ°ΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΡΠΈΡΠΈΠ½ ΡΠΎΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ. ΠΡΠΎ ΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠ°ΠΊ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ, ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΡΠΊΠ·ΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΈ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΡΠ±Π΅Π΄ΠΈΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ‘@’ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠΎΡ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. Π₯ΠΎΡΠΎΡΠ΅Π½ΡΠΊΠΎΠ΅ Π΄Π΅Π»ΠΎ! Π’Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΈΡΠ΅ΡΡ-ΠΈΡΠ΅ΡΡ, Π° ΡΠ°ΠΌ ΠΆΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΎΡ Π·Π°ΡΠΊΠ½ΡΠ».
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠ΅ΡΠ΅Π°Π»ΡΠ½ΡΠΉ. ΠΠΎΠΊΠ°Π·Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
Π ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈ error_reporting(E_ALL); PHP ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π» Π±Ρ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ Π²Π°Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ Ρ ΡΠΌΠΎΠ³ Ρ
ΠΎΡΡ Π±Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΡΠΎΠ³ΠΎ Π·Π°Π½ΡΡΠΈΡ.
Π£Π΄Π°ΡΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° PHP. ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΄?
PHP β ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π΅ΠΉΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Ρ ΠΎΡΡΠΈΠ½Π³-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΠΈΠ΄ΠΈΡΡΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΡΠ΅Π»ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ web-ΡΠ°ΠΉΡΠΎΠ². ΠΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΊΠΎΠ΄Π° PHP. Π ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠ΄Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡΡ β Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΡ (validators). ΠΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠΌΡ ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΄Β» Π»ΠΈΠ±ΠΎ ΠΊΠ»Π°Π²ΠΈΡΡ Β«CheckΒ». Π’Π°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π³Π°Π»ΠΎΡΠΊΠΎΠΉ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ. ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ/Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»Π° Ρ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π΄Π»Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ β https://phpcodechecker.com/. ΠΠ½ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ Π½Π°ΠΉΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΊΠΎΠ΄Π΅. ΠΠ°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠ΄ΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ, ΠΏΠ»ΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΡΡΡΠΎΠΊΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ (Π²Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°). ΠΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ.
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ Π²Π΅ΡΡΠΈΡ PHP?
ΠΠ°Π»Π΅Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΡΡΡΡ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π²Π°ΡΠ΄ΠΎΠΌΠ΅Π½/phpinfo.php. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Π΅ΡΡΠΈΡ PHP-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π°, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π»ΠΈΠ±ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ, Ρ. ΠΊ. ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΠΎΠ±ΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΡΡΠΈ ΡΠ³ΡΠΎΠ·Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠ° ΡΡΠΎΠΌ Π²ΡΡ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ PHP ΠΊΠΎΠ΄ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΡ. ΠΠ΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π° ΠΈ ΡΠ·Π½Π°ΡΡ Π²Π΅ΡΡΠΈΡ PHP Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π£Π·Π½Π°ΠΉΡΠ΅, ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ Π»ΠΈ Π²Π°Ρ ΠΊΠΎΠ΄! ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ Π΅Π³ΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ !
PHP Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΠ΅ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡ, ΠΊΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ, ΠΈ ΠΌΡ ΡΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅Ρ β ΡΠΈΠ΄ΠΈΠΌ ΠΈ ΡΡΡΠ΄ΠΈΠΌΡΡ Π½Π΅ ΠΏΠΎΠΊΠ»Π°Π΄Π°Ρ ΡΡΠΊ, ΡΠΈΡΠ°Π΅ΠΌ Π₯Π°Π±Ρ π
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠ²Π΅Π΄Ρ ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΊΠ°Π·Π° ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π² PHP, ΠΈ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊ ΠΈΡ ΠΎΠ±ΡΠ·Π΄Π°ΡΡ.
ΠΡΠΈΠ±ΠΊΠΈ
Π Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ Π² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅ ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ Π±Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΠΈΠ·ΡΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΠΈΠ΄ ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΌΡΡ ΡΡΠΊΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΉ.
Π§ΡΠΎΠ±Ρ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° Π½Π΅ ΡΡΠ»Π° Π½Π΅Π·Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ error_reporting(), Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ display_errors Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
Π€Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
Π‘Π°ΠΌΡΠΉ Π³ΡΠΎΠ·Π½ΡΠΉ Π²ΠΈΠ΄ ΠΎΡΠΈΠ±ΠΎΠΊ β ΡΠ°ΡΠ°Π»ΡΠ½ΡΠ΅, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ PHP-ΡΠΊΡΠΈΠΏΡΠ°, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ.
E_PARSE
ΠΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π³ΡΡΠ±ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ PHP Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΎΡ Π½Π΅Π³ΠΎ Ρ ΠΎΡΠΈΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°ΠΊΡΡΠ»ΠΈ ΡΠΈΠ³ΡΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΎΡΠΊΡ:
ΠΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π½Π° Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅:
ΠΠΈΡΠ½ΠΈΠ΅ ΡΠΊΠΎΠ±ΠΎΡΠΊΠΈ ΡΠΎΠΆΠ΅ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ, ΠΈ Π½Π΅ ΡΠ°ΠΊ Π²Π°ΠΆΠ½ΠΎ ΠΊΡΡΠ³Π»ΡΠ΅ Π»ΠΈΠ±ΠΎ ΡΠΈΠ³ΡΡΠ½ΡΠ΅:
ΠΡΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β ΠΊΠΎΠ΄ ΡΠ°ΠΉΠ»Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π΄ΠΎΠΏΡΡΡΠΈΠ»ΠΈ parse error Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°ΠΉΠ»Π΅, Π³Π΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠ°ΡΡΠ΅ΡΠ° ΡΠΎ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
E_ERROR
ΠΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° PHP ΠΏΠΎΠ½ΡΠ» ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, Π½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π²Π²ΠΈΠ΄Ρ ΡΡΠ΄Π° ΠΏΡΠΈΡΠΈΠ½. ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠ΄ Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
ΠΠ΅ Π±ΡΠ» Π½Π°ΠΉΠ΄Π΅Π½ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»:
ΠΡΠ»ΠΎ Π±ΡΠΎΡΠ΅Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (ΡΡΠΎ ΡΡΠΎ Π·Π° Π·Π²Π΅ΡΡ, ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ³ΠΎΠ΄Ρ), Π½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ:
ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²ΡΠ·Π²Π°ΡΡ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ°:
ΠΡΡΡΡΡΡΠ²ΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ memory_limit) ΠΈΠ»ΠΈ Π΅ΡΡ ΡΠ΅Π³ΠΎ-Π½ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ:
ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ Π»ΠΈΠ±ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ½ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΡΡ Π½Π° 256-ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈΠ±ΠΎ ΡΠ°ΠΊ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ xdebug (Π΄Π°, Π΄Π°Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠ²ΠΈΡΡΡΡ Π² ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ xdebug ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ):
ΠΠ΅ ΡΠ°ΡΠ°Π»ΡΠ½ΡΠ΅
ΠΠ°Π½Π½ΡΠΉ Π²ΠΈΠ΄ Π½Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°, Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊ. ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Ρ Π»ΠΎΠΏΠΎΡ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ.
E_WARNING
ΠΡΠ²Π°Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΈΠΏ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ:
ΠΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ Π²ΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°β¦
E_NOTICE
ΠΡΠΎ ΡΠ°ΠΌΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΌΠ°Π»ΠΎ ΡΠΎΠ³ΠΎ, Π΅ΡΡΡ Π»ΡΠ±ΠΈΡΠ΅Π»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΊΠ»Π΅ΠΏΠ°ΡΡ ΠΈΡ ΡΠ΅Π»ΡΠΌΠΈ Π΄Π½ΡΠΌΠΈ. ΠΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΈ ΡΠ΅Π»ΠΎΠΌ ΡΡΠ΄Π΅ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
ΠΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°:
ΠΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅:
ΠΠΎΠ³Π΄Π° Π½Π΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΡΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ :
ΠΠ»Ρ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ β Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Π΅ΠΉ, ΠΈ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ IDE ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎ ΡΡΠΌ-ΡΠΎ β Π½Π΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠΉΡΠ΅ Π΅Ρ:
E_STRICT
ΠΠ°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΎΠΊ Π°ΠΊΡΡΠ°Π»Π΅Π½ Π΄Π»Ρ PHP Π²Π΅ΡΡΠΈΠΈ 5.6, ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ ΠΈΡ Π²ΡΠΏΠΈΠ»ΠΈΠ»ΠΈ ΠΈΠ·
7-ΠΊΠΈ. ΠΠΎΡΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ RFC. ΠΡΠ»ΠΈ ΠΊΡΠΎ Π·Π½Π°Π΅Ρ Π³Π΄Π΅ Π΅ΡΡ ΠΎΡΡΠ°Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΎ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
E_DEPRECATED
Π’Π°ΠΊ PHP Π±ΡΠ΄Π΅Ρ ΡΡΠ³Π°ΡΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Ρ.Π΅. ΡΠ΅, ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΊΠ°ΠΊ deprecated, ΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΌΠ°ΠΆΠΎΡΠ½ΠΎΠΌ ΡΠ΅Π»ΠΈΠ·Π΅ ΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ):
Π ΠΌΠΎΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄ΡΡ Π·Π°ΡΡΡΠΊΠ½ΡΡΡ:
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅
ΠΡΠΎΡ Π²ΠΈΠ΄, ΠΊΠΎΡΠΎΡΡΠ΅ Β«ΡΠ°Π·Π²ΠΎΠ΄ΠΈΡΒ» ΡΠ°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΠ΄Π°, Ρ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΈΡ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π», ΠΈ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π°ΠΌ ΠΈΠΌΠΈ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ Π²ΠΈΠ΄ΠΎΠ² ΠΈ ΡΠΈΠΏΠΎΠ² ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΠΎΡΠ° ΠΎΠ·Π²ΡΡΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ display_errors :
ΠΡΠΈΡΡΡΠ΅Π½ΠΈΠ΅
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ Π² PHP ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 3 ΡΡΠ½ΠΊΡΠΈΠΈ:
Π£ Π²Π°Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π½Π°Π·Π½Π°ΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, Ρ ΠΎΡΡ ΠΎΡΠ΅Π½Ρ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ²ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π½ΠΎ Π½Π΅Ρ β ΠΏΠΈΡΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΈ Π²ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΎΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠΆΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π½ΡΠΌ
Π‘ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΡΡΠ΅ Π΅ΡΡΡ ΠΎΠ΄Π½Π° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΠΎΠ½ Π½Π΅ Π»ΠΎΠ²ΠΈΡ ΡΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΈ ΠΏΡΠΈ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ²ΠΈΠ΄ΡΡ Π»ΠΈΡΡ ΠΏΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, Π»ΠΈΠ±ΠΎ, ΡΡΠΎ Π΅ΡΡ Ρ ΡΠΆΠ΅, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΠ°Π±Ρ Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ register_shutdown_function() ΠΈ Ρ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°:
ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅Π³Π΄Π°!
ΠΠΎ Π²Π΅ΡΠ½ΡΠΌΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ, Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ error_get_last(), Ρ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅, Π° ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΡΠΎ ΠΎΠ½ΠΈ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»Ρ Β«ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Β»:
Π₯ΠΎΡΠ΅Π» ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Ρ ΠΎΡΡ Π΅ΡΡ ΠΈ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈ Π²Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ Π΄Π°ΠΆΠ΅ Ρ Π½ΠΈΠΌ ΡΡΠΎΠ»ΠΊΠ½ΡΡΠ΅ΡΡ, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΡΠ΅ΡΡΠ» Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ 7-ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ PHP. Π§ΡΠΎ ΠΏΡΠΈΡΠ»ΠΎ Π½Π° Π·Π°ΠΌΠ΅Π½Ρ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΡΡΡΡ ΠΏΠΎΠ³ΠΎΠ΄Ρ.
Π ΠΏΡΠΎΠΆΠΎΡΠ»ΠΈΠ²ΠΎΡΡΠΈ
ΠΡΠΎΠ²Π΅Π΄ΡΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΡΡ, ΠΈ Π²ΡΡΡΠ½ΠΈΠΌ β ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΠ°Π³ΠΎΡΠ΅Π½Π½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΡΡΠ°Π΅Ρ ΡΠ°ΠΌΠ°Ρ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΡ Π² ΡΠΈΠΊΠ»Π΅:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ Ρ ΡΠΆΠ΅, ΠΈ Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ (Π΄Π°ΠΆΠ΅ Π½Π° Π΄Π²Π° ΠΏΠΎΡΡΠ΄ΠΊΠ°!):
ΠΡΠ²ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ΅Π½ β ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π»ΠΈΡΠ½Π΅ΠΉ ΠΏΡΠΎΠΆΠΎΡΠ»ΠΈΠ²ΠΎΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ² β ΡΠ°ΠΊ ΡΡΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ!
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ» Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡΡ PHP ΠΈ Π²Π΅Π·Π΄Π΅ ΡΠ°Π·Π½ΠΈΡΠ° Π² Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ°Π·, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΡΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΅ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ²ΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅
ΠΠ΄Π΅ ΡΠΎΠ±Π°ΠΊΠ° Π·Π°ΡΡΡΠ°
Π PHP Π΅ΡΡΡ ΡΠΏΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» Β«@Β» β ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π°Π±Ρ Π½Π΅ ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡΡ Π½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ PHP Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π³ΠΎ:
ΠΡΠ»ΠΈ Π²Ρ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΎ ΡΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ ΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡ ΠΏΡΠΎΡΡΠΎ ΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ (ΡΠΌ. ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡ Π²ΡΡΠ΅), Π½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΡΠΎ Π·Π»ΠΎ
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
Π ΡΡΡ PHP4 Π½Π΅ Π±ΡΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (exceptions), Π²ΡΡ Π±ΡΠ»ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π±ΠΎΡΠΎΠ»ΠΈΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠ³Π»ΠΈ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π° ΠΆΠΈΠ·Π½Ρ, Π° Π½Π° ΡΠΌΠ΅ΡΡΡβ¦ ΠΠΊΡΠ½ΡΡΡΡΡ Π² ΡΡΡ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅ ΠΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄. Π§Π°ΡΡΡ 1. Π‘ΡΠΎΠΈΡ Π»ΠΈ Π΅Ρ ΡΠΈΡΠ°ΡΡ ΡΠ΅ΠΉΡΠ°Ρ? ΠΠ΅ ΠΌΠΎΠ³Ρ Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ, Π»ΠΈΡΡ Ρ ΠΎΡΡ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ ΡΠ²ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠ°, ΠΈ ΡΠ°ΡΠΊΡΠΎΠ΅Ρ Π²ΡΡ ΠΏΡΠ΅Π»Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ β ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Π² PHP, Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΡΠΈΡΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π° ΡΡΠ΅Π±ΡΡΡ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠ΅Ρ ΡΠ°ΠΉΠ», Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ (Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° Π½Π° Π·Π°ΠΏΠΈΡΡ, Π½Π΅Ρ ΠΌΠ΅ΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ΅), Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ°, Π° Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² Π΄ΡΡΠ³ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅.
Π ΠΊΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π»ΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π»ΡΠ±Π°Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°Π½Π΅Ρ. ΠΠΎ Π·Π°ΡΠ°ΡΡΡΡ, ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΈ ΡΠΎΠ³Π΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ Π·Π°Π΄Π°ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Exception β ΡΡΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΈΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΡΠ°Π²ΠΈΠ». ΠΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΄Π»Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π²Π²Π΅Π΄ΡΠ½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄Π°Π½Π½ΡΡ (Ρ ΠΎΡΡ ΡΡΡ Π½Π΅ Π²ΡΡ ΡΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ). ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π²ΡΠ·Π²Π°Π½Π½ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΡ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π²ΡΠ±ΠΎΡ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π΅ Π΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΌ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π±Ρ ΠΎΠ½ ΠΈΠΌΠ΅Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ set_exception_handler() ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠΎΡΠ΅Π½Ρ Π²Π½Π΅ Π±Π»ΠΎΠΊΠ° try-catch ΠΈ Π½Π΅ Π±ΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ. ΠΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ:
ΠΡΡ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΏΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠ° finally β ΡΡΠΎΡ Π±Π»ΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π±ΡΠ»ΠΎ Π²ΡΠ±ΡΠΎΡΠ΅Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ:
ΠΠ»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠΎ Π½Π°ΠΌ Π΄Π°ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° finally :
Π’.Π΅. Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ β Π±Π»ΠΎΠΊ finally Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Π΄Π°ΠΆΠ΅ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Π² Π±Π»ΠΎΠΊΠ΅ catch ΠΏΡΠΎΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ΅ (ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΠΎΠ½ ΠΈ Π·Π°Π΄ΡΠΌΡΠ²Π°Π»ΡΡ).
ΠΠ»Ρ Π²Π²ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ°ΠΌΡΠΉ ΡΠ°Π·, ΠΊΡΠΎ ΠΆΠ°ΠΆΠ΄Π΅Ρ Π΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ, ΡΠΎ Π²Ρ ΠΈΡ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅ ΠΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ π
PHP7 β Π²ΡΡ Π½Π΅ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠ°Π½ΡΡΠ΅
Π’Π°ΠΊ, Π²ΠΎΡ Π²Ρ ΡΠ΅ΠΉΡΠ°Ρ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²ΡΡΠ΅ ΡΡΠ²ΠΎΠΈΠ»ΠΈ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π±ΡΠ΄Ρ Π³ΡΡΠ·ΠΈΡΡ Π²Π°Ρ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡΠΌΠΈ Π² PHP7, Ρ.Π΅. Ρ Π±ΡΠ΄Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎ ΡΠΎΠΌ, Ρ ΡΠ΅ΠΌ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ PHP ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. Π Π°Π½Π΅Π΅ Ρ Π²Π°ΠΌ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π» ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π» Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΡΡΡΠ»Ρ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠΎΡΡΠ΄ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ°ΠΊ Π²ΠΎΡ β Π² PHP7 ΡΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, Π½ΠΎ? ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ? Π·Π°Π²ΡΠ·Π°Π»ΠΈΡΡ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π°, ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Ρ ΠΎΡΡ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΎΠ½ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ ΠΈΠ΄Π΅Π°Π»Π°. Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎ ΠΏΡΠ½ΠΊΡΠ°ΠΌ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ :
Π‘Π»ΠΎΠΆΠ½ΠΎ? Π’Π΅ΠΏΠ΅ΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ , Π²ΠΎΠ·ΡΠΌΡΠΌ ΡΠ΅, ΡΡΠΎ Π±ΡΠ»ΠΈ Π²ΡΡΠ΅ ΠΈ ΡΠ»Π΅Π³ΠΊΠ° ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΡΠ΅ΠΌ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠΎΠΉΠΌΠ°Π΅ΠΌ ΠΈ Π²ΡΠ²Π΅Π΄Π΅ΠΌ:
Π ΡΡΡΡ-ΡΡΡΡ Π΄Π΅ΡΠ°Π»Π΅ΠΉ:
TypeError β Π΄Π»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠΏ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΌ ΡΠΈΠΏΠΎΠΌ:
ArithmeticError β ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ , ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ³Π΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ Π»ΠΈΠΌΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°:
AssertionError β ΡΠ΅Π΄ΠΊΠΈΠΉ Π·Π²Π΅ΡΡ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π² assert() Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ:
ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ production-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ zend.assertions ΠΈ assert.exception ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ, ΠΈ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π²Ρ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΠΌΠ°Π½ΡΠ°Π»Π΅, ΡΠ°ΠΌ ΠΆΠ΅ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ SPL ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΈΠ· ΡΡΠ°ΡΡΠΈ Throwable Exceptions and Errors in PHP 7.
ΠΠ΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅
β Π’Π°ΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ Π²ΡΡ ΠΊΠ°ΠΊ-ΡΠΎ Π΄ΠΎ ΠΊΡΡΠΈ ΡΠ³ΡΠ΅ΡΡΠΈ?
ΠΠ° Π·Π°ΠΏΡΠΎΡΡΠΎ, Ρ Π½Π°Ρ ΠΆΠ΅ Π΅ΡΡΡ set_error_handler() ΠΈ Π½ΠΈΠΊΡΠΎ Π½Π°ΠΌ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠΈΡ Π²Π½ΡΡΡΠΈ ΠΎΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
ΠΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Ρ PHP7 ΠΈΠ·Π±ΡΡΠΎΡΠ΅Π½, ΡΠΎ Π²ΡΠ΅ΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Throwable :
ΠΡΠ»Π°Π΄ΠΊΠ°
ΠΠ½ΠΎΠ³Π΄Π°, Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π°, Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅, Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ debug_backtrace() ΠΈ debug_print_backtrace() ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΠ½ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ/ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ debug_print_backtrace() Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΡΠΈΠ²Π΅Π΄ΡΠΈΡ Π½Π°Ρ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠ΅:
Assert
Π€ΡΠ½ΠΊΡΠΈΡ assert() ΠΏΠΎΠΌΠ΅Π½ΡΠ»Π° ΡΠ²ΠΎΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ 5.6 ΠΊ 7.0, ΠΈ Π΅ΡΡ ΡΠΈΠ»ΡΠ½Π΅ΠΉ Π²ΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΎΡΡ Π² Π²Π΅ΡΡΠΈΠΈ 7.2, ΡΠ°ΠΊ ΡΡΠΎ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Π΅ΠΉ ΡΠΈΡΠ°ΠΉΡΠ΅ changelog’ΠΈ PHP π
ΠΠ΅ΡΠ²ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ TODO ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠ΄Π΅, Π΄Π° ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠΎΡΠ½ΠΎ Π½Π΅ Π·Π°Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ E_WARNING :
PHP7 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΠ΅ΠΆΠΈΠΌ exception, ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ AssertionError :
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
ΠΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ β ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΡ TDD, Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ β ΡΡΠΎ Π»ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅. Π₯ΠΎΡΡ, Π΅ΡΠ»ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π°Π±Π°Π²Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°:
Π’ΡΠ΅ΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π½Π΅ΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΎΠΏΠΈΡΠ°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡ, ΡΡΠΎ Π²Π°Ρ ΠΏΠΎΠ½ΡΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π³ΠΎ ΡΡΠ°Π·Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ (Ρ Π²ΠΎΡ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π±ΠΎΡΠΈΠΉ):
ΠΡΠ»ΠΈ Π²Π°Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ, ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π²Π°Ρ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΡΡΠ»ΠΎΡΠΊΠ° Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ PhpDeal.
ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ assert() Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²Π΅Π΄Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ assert() ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ (Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ eval() ), Π° ΡΡΠΎ ΡΡΠ΅Π²Π°ΡΠΎ PHP-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠ΅ΠΉ. Π Π΄Π°, ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π²Π΅Π΄Ρ Π΅ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ assert’Ρ, ΡΠΎ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Ρ, Π° Π΅ΡΠ»ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅, ΡΠΎ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π° Π²Π½ΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ assert’a Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π±ΡΠ»Π΅Π²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π, ΠΈ ΡΡΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈ Π² PHP 7.2 π
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΆΠΈΠ²ΠΎΠΉ ΠΎΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ assert() β ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΉ, Π±ΡΠ΄Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½. Π Π΄Π°, Π²ΠΎΡ Π²Π°ΠΌ Π΅ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΈΠ²Π° ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ β PHP Assertions, Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ π
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π― Π·Π° Π²Π°Ρ Π½Π°ΠΏΠΈΡΡ Π²ΡΠ²ΠΎΠ΄Ρ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ:
ΠΡΠΎ ΡΠ΅ΠΏΠΎΡΡ ΠΈΠ· ΡΠ΅ΡΠΈΠΈ ΡΡΠ°ΡΠ΅ΠΉ Β«PHP Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ Β»:
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΠ°ΠΊΡΠΈΠΌΡ Π‘Π»Π΅ΡΠ°ΡΠ΅Π½ΠΊΠΎ Π·Π° ΠΏΠΎΠΌΠΎΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΡΠ°ΡΡΠΈ.