ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² PHP
Π ΡΠ·ΡΠΊΠ΅ PHP ΠΊΠ»Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° class, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΠ΅Π»ΠΎ ΠΊΠ»Π°ΡΡΠ° (ΡΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²) Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ . ΠΠΎΠ²ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° new, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°. ΠΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ΅ Π½Π΅ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π±ΡΠΊΠ²Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² PHP (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅: Intranet ΠΈ Internet ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΠ° ΡΠ΅ΠΌΡ: ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² PHP
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
1. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² PHP
1.1 ΠΠ»Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ°
1.2 ΠΡΠΈΠ½ΡΠΈΠΏΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² PHP
1.3 Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
PHP (ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°ΠΊΡΠΎΠ½ΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ Hypertext Preprocessor — «ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π³ΠΈΠΏΠ΅ΡΡΠ΅ΠΊΡΡΠ°») — ΡΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π²), ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ web-ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΠ°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π² 1994 Π³ΠΎΠ΄Ρ, Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π Π°ΡΠΌΡΡ ΠΠ΅ΡΠ΄ΠΎΡΡ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ PHP ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ — ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ 2004 Π³ΠΎΠ΄Π° ΠΈ ΠΏΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ PHP. Π Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ (ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΌ ΡΡΠΈΠ»Π΅ΠΌ) ΡΠ²Π»ΡΡΡΡΡ: Π²ΡΡΠΎΠΊΠ°Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΡΡΡ, ΠΏΡΠΎΡΡΠΎΡΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
Π¦Π΅Π»ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ·ΡΠΊΠ΅ PHP.
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ:
1) ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΊΠ»Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°;
2) ΠΈΠ·ΡΡΠΈΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² PHP;
3) ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ.
1. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² PHP
1.1 ΠΠ»Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΏΠΎΠ½ΡΡΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ»Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ»Π°ΡΡ — ΡΡΠΎ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΌΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ; ΡΠ°Π±Π»ΠΎΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ±ΡΠ΅ΠΊΡ — ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ½ΠΎΡΡΡ ΠΈΠ»ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠ°Π½Π½ΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π° ΠΌΠ΅ΡΠΎΠ΄Ρ — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΈΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π ΡΠ·ΡΠΊΠ΅ PHP ΠΊΠ»Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° class, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΠ΅Π»ΠΎ ΠΊΠ»Π°ΡΡΠ° (ΡΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²) Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ . ΠΠΎΠ²ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° new, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°. ΠΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ΅ Π½Π΅ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π±ΡΠΊΠ²Ρ Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠ³ΠΎ Π°Π»ΡΠ°Π²ΠΈΡΠ° ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΡΠΊΠ², ΡΠΈΡΡ ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ (ΡΡΡΠ΅Π»ΠΊΠ°), Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: ΡΠ½Π°ΡΠ°Π»Π° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π΄Π°Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ Π²Π½ΡΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ $this — ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ΡΠ²Π½ΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Person ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° — ΠΎΠ±ΡΠ΅ΠΊΡΠ° person. ΠΠ»Ρ Π²ΡΠ΅Ρ Π±ΡΠ΄ΡΡΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° name (ΠΈΠΌΡ), age (Π²ΠΎΠ·ΡΠ°ΡΡ) ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ setName (), setAge (), getName (), getAge (), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡ Π·Π° ΡΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ $this.
class Person {
public $name;
public $age;
public function setName ($n){
$this->name = $n;
}
public function setAge ($a){
$this->age = $a;
}
public function getName (){
return $this->name;
}
public function getAge (){
return $this->age;
}
$person = new Person ();
$person->setName ('Maria');
$person->setAge ('20');
echo 'name: '.$person->getName ().', age: '.$person->getAge ();
ΠΡΠΎΠ³ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ echo ΡΡΠ°Π½Π΅Ρ Π²ΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ name ΠΈ age.
ΠΠ΅ΡΠ΅Π΄ΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ — ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ (construct), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ·Π²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΡΠ·ΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° new.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠ°ΠΊ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ (destruct), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΈΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ±ΡΡΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: Π·Π°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, ΡΠ°Π·ΡΡΠ² ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ. Π΄. ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ Π² Π΄Π²ΡΡ ΡΠ»ΡΡΠ°ΡΡ : ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ»ΠΈ Π·Π°ΠΊΡΡΡΡ ΠΈ ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠ° Π΄Π»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Person; ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ person Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½.
class Person {
public $name;
public $age;
public function __construct ($n, $a) {
$this->name = $n;
$this->age = $a;
}
public function __destruct () {
echo 'ΠΠ±ΡΠ΅ΠΊΡ '.$this->name.' ΡΠ΄Π°Π»Π΅Π½
';
}
$person = new Person ('Maria', '20');
Π’Π°ΠΊΠΆΠ΅, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² __construct () ΠΈ __destruct (), Π² ΠΏΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ PHP Π²Π²Π΅Π΄Π΅Π½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ° — ΡΡΠ° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΡΠΊΡΠ΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ, ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ.
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ²:
1) public (ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅) — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠΈ, ΡΠ°ΠΊ ΠΈ Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ°;
2) protected (Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠ΅) — ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π΄ΠΎΡΡΡΠΏ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π»ΠΈΠ±ΠΎ Π²Π½ΡΡΡΠΈ Π΅Π³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ²;
3) private (Π·Π°ΠΊΡΡΡΡΠ΅) — Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ.
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΠΊΠ°ΠΊ static (ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅). Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ, Π° ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ»Π°ΡΡΡ Π² ΡΠ΅Π»ΠΎΠΌ; ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π°Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ Π±Π΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
1.2 ΠΡΠΈΠ½ΡΠΈΠΏΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² PHP
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠ΅Ρ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ; ΠΏΡΠΈΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ (Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ) Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ° (ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ»Π°ΡΡΡ-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ»ΠΈ Π²ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠ³ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π² PHP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ extends. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° Student, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΠΊΠ»Π°ΡΡ Person Π·Π° ΡΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° vuz (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΠ£ΠΠ°) ΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° showInfo (), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΠΊΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ name ΠΈ vuz, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° Student.
class Person {
public $name;
public $age;
public function __construct ($n, $a) {
$this->name = $n;
$this->age = $a;
}
public function showInfo (){
echo 'name: '.$this->name. ', age: '.$this->age. '
';
}
class Student extends Person {
public $vuz;
function showInfo (){
echo $this->name. ' is student of '.$this->vuz. '
';
}
$person = new Person ('Maria', '20');
$person->showInfo ();
$stud = new Student ('Ivan', '19');
$stud->vuz = 'NarFU';
$stud->showInfo ();
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΊΠ»Π°ΡΡ-ΠΏΠΎΡΠΎΠΌΠΎΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΆΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ΅, ΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ, ΠΈ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΠΊΠ»Π°ΡΡΠ΅-ΠΏΠΎΡΠΎΠΌΠΊΠ΅.
ΠΡΠ»ΠΈ ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΡΡ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π½ΠΎ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ parent Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° showInfo () Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ°-ΠΏΠΎΡΠΎΠΌΠΊΠ° Student ΠΏΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ Person.
class Person {
public $name;
public $age;
public function __construct ($n, $a) {
$this->name = $n;
$this->age = $a;
}
public function showInfo (){
echo '
name: '.$this->name.', age: '.$this->age;
}
class Student extends Person {
public $vuz;
function __construct ($n, $a, $v){
parent:__construct ($n, $a);
$this->vuz = $v;
}
function showInfo (){
parent:showInfo ();
echo ', vuz: '.$this->vuz. '
';
}
$stud = new Student ('Anna', '19', 'NarFU');
$stud->showInfo ();
Π ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° showInfo () Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° stud Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½Π° ΡΡΡΠΎΠΊΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ vuz, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ name ΠΈ age.
Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠ»Π°ΡΡΡ-ΡΠ°Π±Π»ΠΎΠ½Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π»ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ. Π’Π°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠΎΠ±ΡΠΉ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, Π½Π΅ΡΡΡΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΌΡΡΠ» ΠΈ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ°ΠΊΠΈΠ΅ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
ΠΠ»Π°ΡΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ, Π΅ΡΠ»ΠΈ Π² Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ abstract. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΊΠ»Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΡΠΎ Π²Π΅ΡΡ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ. Π’Π°ΠΊΠΆΠ΅ Π² PHP ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅Π»ΡΠ·Ρ Π²ΡΠ·Π²Π°ΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅. ΠΠΎ-Π²ΡΠΎΡΡΡ , Π½Π΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ. Π, Π²-ΡΡΠ΅ΡΡΠΈΡ , ΠΊΠ»Π°ΡΡ-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Aperson, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ showInfo (). ΠΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΈ — ΠΊΠ»Π°ΡΡΡ Student ΠΈ Worker — ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΡΠΈΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎ-ΡΠ²ΠΎΠ΅ΠΌΡ.
abstract class Aperson{
function __construct ($n, $a){
$this->name = $n;
$this->age = $a;
}
abstract function showInfo ();
}
class Student extends Aperson {
public $vuz;
function showInfo (){
echo $this->name. ' is student of '.$this->vuz.'
';
}
class Worker extends Aperson {
public $job;
function showInfo (){
echo $this->name.' works in '.$this->job.'
';
}
$stud = new Student ('Ivan', '20');
$stud->vuz = 'NarFU';
$stud->showInfo ();
$worker = new Worker ('Olga', '30');
$worker->job = 'Gazprom';
$worker->showInfo ();
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° showInfo () Π΄Π»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° Student Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½Π° ΡΡΡΠΎΠΊΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ name ΠΈ vuz, Π° Π΄Π»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° Worker — ΡΡΡΠΎΠΊΠ° ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ name ΠΈ job.
Π ΡΠ·ΡΠΊΠ΅ PHP ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅, ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ — ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, ΡΠ°Π±Π»ΠΎΠ½, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ (ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅) Π²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠ»Π΅Π΄ΡΡΡ Π΅Π³ΠΎ. ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΊΠ»Π°ΡΡ-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΎΠ±ΡΠ·Π°Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π² ΡΠ΅Π±Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. Π ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π΅ΡΡΡ ΡΡΠ΄ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠΎ-Π²ΡΠΎΡΡΡ , Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅, ΡΠ²Π»ΡΡΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½. Π, Π²-ΡΡΠ΅ΡΡΠΈΡ , ΠΊΠ»Π°ΡΡ-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° interface, Π° Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΊΠ»Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ implements, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Iperson, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ save () ΠΈ info (), Π² ΠΊΠ»Π°ΡΡΠ°Ρ Student ΠΈ Worker.
interface Iperson {
public function save ();
public function info ();
}
class Student implements Iperson {
private $name;
private $vuz;
private $course;
public function __construct ($n, $v, $c) {
$this->name = $n;
$this->vuz = $v;
$this->course = $c;
}
public function save () {
echo 'Student '.$this->name.' is saved
';
}
public function info () {
echo $this->name.' is student of '.$this->vuz;
}
class Worker implements Iperson {
private $name;
private $job;
private $career;
public function __construct ($n, $j, $c) {
$this->name = $n;
$this->job = $j;
$this->career = $c;
}
public function save () {
echo 'Worker '.$this->name.' is saved
';
}
public function info () {
echo $this->name.' works as a '.$this->career.' in '.$this->job;
}
$stud = new Student ('Ivan', 'NarFU', '2');
$stud->info ();
$worker = new Worker ('Olga', 'Gazprom', 'secretary');
$worker->info ();
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΡΠ°ΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΈΠΌΠ΅Π½.
1.3 Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² construct () ΠΈ destruct (), ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠ°, Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ PHP ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΡΡΠ΄ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, — ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ «ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ» (ΠΎΡ Π°Π½Π³Π». magic methods). ΠΠ°Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ — Ρ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΡΠ°ΠΊΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΎΡΠ½ΠΎΡΡΡ:
1) ΠΌΠ΅ΡΠΎΠ΄ clone () Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ clone ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Ρ. Π΅. Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°-ΠΊΠ»ΠΎΠ½Π° Π±ΡΠ΄ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠ»ΠΈ ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΏΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ², ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ clone (). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
class Person {
public $name;
public $status;
function __construct ($n, $s) {
$this->name = $n;
$this->status = $s;
}
function __clone (){
$this->status = `married';
}
function info (){
echo 'name:'.$this->name.', status:'.$this->status.'
';
}
$person1 = new Person ('Alice','single');
$person1->info ();
$person2 = clone $person1;
$person2->info ();
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΠΊΠΎΠΏΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° person1 — ΠΎΠ±ΡΠ΅ΠΊΡ person2, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ __clone () Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° status.
2) ΠΌΠ΅ΡΠΎΠ΄ toString () ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° [4], Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
class Person {
public $name;
function __construct ($n) {
$this->name = $n;
}
function __toString (){
return $this->name;
}
$person1 = new Person ('Alice');
echo $person1;
Π ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π²ΡΠ·ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° echo Π½Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ ΡΠ°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ.ΠΊ. ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° Person Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ toString ().
3) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Π² ΠΊΠΎΠ΄Π΅ ΡΠΊΡΠΈΠΏΡΠ° ΡΡΠ½ΠΊΡΠΈΡ autoload () Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π½Π΅Π΅ Π½Π΅ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ — Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² include (), include_once (), require () ΠΈ require_once () — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°, Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠ΅ΡΠ²Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
4) ΠΌΠ΅ΡΠΎΠ΄-ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ get () Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ°, Π° ΠΌΠ΅ΡΠΎΠ΄-ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ set () — ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
class Example {
function set ($name, $val) {
echo 'ΠΠΎΠΏΡΡΠΊΠ° ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ '.$val.' ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ '.$name;
}
function get ($name) {
echo 'ΠΠΎΠΏΡΡΠΊΠ° ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ '.$name;
}
$exam = new Example ();
$exam->number = 100;
echo $exam->txt;
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±ΡΠ΄ΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ: «ΠΠΎΠΏΡΡΠΊΠ° ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ 100 ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ number» ΠΈ «ΠΠΎΠΏΡΡΠΊΠ° ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ txt».
Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΌΠ΅ΡΠΎΠ΄ __call () Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
class Example{
function __call ($name, $params){
$string = implode («, «, $params);
echo 'ΠΠΎΠΏΡΡΠΊΠ° Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ '.$name.' Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ: '.$string;
}
$exam = new Example ();
$exam->someMethod ('param1','param2');
ΠΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ «ΠΠΎΠΏΡΡΠΊΠ° Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ someMethod Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ: param1, param2».
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠ΅ΡΠΎΠ΄Ρ get (), set ΠΈ call () ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π΄ΠΎ Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Web-ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
5) ΠΌΠ΅ΡΠΎΠ΄Ρ sleep () ΠΈ wakeup Π½Π°ΠΏΡΡΠΌΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ serialize ΠΈ unserialize, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: ΠΌΠ΅ΡΠΎΠ΄ sleep Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΡΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΡΠ΅ΡΡΡ (serialize), Π° ΠΌΠ΅ΡΠΎΠ΄ __wakeup () — ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΡΠ΅ΡΡΡ (unserialize).
ΠΠ±ΡΡΠ½ΠΎ ΠΌΠ΅ΡΠΎΠ΄ sleep () ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΡΡΡΠΎΠΊΡ — ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠ°, Π² ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½Ρ ΠΈΠ· ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ΅ΡΠΎΠ΄ wakeup () ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ ΡΠΊΡΠΈΠΏΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² sleep () ΠΈ wakeup ().
class Person {
public $name;
public function __sleep () {
echo 'ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° __sleep ()…
';
return array ('name');
}
public function __wakeup () {
echo 'ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° __wakeup ()…
';
}
$person1 = new Person ();
$person1->name = 'Maria';
$str = serialize ($person1);
echo 'ΠΠ±ΡΠ΅ΠΊΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½ Π² ΡΡΡΠΎΠΊΡ: '.$str. '
';
$person2 = unserialize ($str);
echo 'Π‘ΡΡΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° Π² ΠΎΠ±ΡΠ΅ΠΊΡ
';
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΈ ΠΈΠ·ΡΡΠ΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ·ΡΠΊΠ΅ PHP. ΠΡΠΈ ΡΡΠΎΠΌ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π±ΡΠ»ΠΈ Π΄Π°Π½Ρ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΊΠ»Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ·ΡΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π±ΡΠ»ΠΈ ΠΈΠ·ΡΡΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ, ΠΊΠ°ΠΊ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π ΠΈΡΠΎΠ³Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΈ ΠΎΠΏΠΈΡΠ°Π½ ΡΡΠ΄ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ «ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΡ » ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΊΠΎΠ΄Π°.
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
1 ΠΡΡΠΌΠ°Π½Ρ, Π., ΠΠ°ΠΊΠΊΠ΅Π½, Π‘., Π Π΅ΡΠ°Π½Ρ, Π. PHP 5. ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠ΅Ρ. Ρ Π°Π½Π³Π». — Π‘ΠΠ±.: Π‘ΠΈΠΌΠ²ΠΎΠ»-ΠΠ»ΡΡ, 2009. — 704 Ρ.
2 ΠΡΠ·Π½Π΅ΡΠΎΠ², Π.Π. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° PHP /Π.Π. ΠΡΠ·Π½Π΅ΡΠΎΠ², Π. Π. Π‘ΠΈΠΌΠ΄ΡΠ½ΠΎΠ². — Π‘ΠΠ±.: ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2011. — 608 Ρ.
3 ΠΠ΅Π½Π³ΡΡΠΎΡΡ, ΠΠΆ. PHP ΠΈ jQuery Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ²: ΠΠ΅Ρ. Ρ Π°Π½Π³Π». — Π.: ΠΠΠ «Π.Π. ΠΠΈΠ»ΡΡΠΌΡ», 2011. — 352 Ρ.
4 ΠΠΎΠ³Π³Π·ΠΎΠ»Π», ΠΠΆ. PHP 5. ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ. ΠΠ΅Ρ. Ρ Π°Π½Π³Π». — Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΠΌ «ΠΠΈΠ»ΡΡΠΌΡ», 2009. — 752 Ρ.
5 ΠΠΎΡΠ΅ΡΠΎΠ², Π.Π. PHP 5 / Π. Π. ΠΠΎΡΠ΅ΡΠΎΠ², Π. Π€. ΠΠΎΡΡΠ°ΡΠ΅Π². — Π‘ΠΠ±.: ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2012. — 1120 Ρ.