Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior

5 вопросов с собСсСдования Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Junior backend-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° PHP

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ

5 вопросов с собСсСдования Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Junior backend-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° PHP

Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior

ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ Π² Nordic IT School ΠΈ Senior Full Stack Developer Π² агСнтствС нСдвиТимости

К Π½Π°ΠΌ Π½Π° курс ΠΏΠΎ web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ приходят люди с Ρ€Π°Π·Π½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΎΠΉ ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ возраста. Π’ связи с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ спрос Π½Π° IT спСциалистов ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ растСт, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ сСбя Π² этой пСрспСктивной отрасли.

ЕстСствСнно, всС студСнты Π·Π°Π΄Π°ΡŽΡ‚ΡΡ вопросом трудоустройства. ΠœΡ‹ Π΄ΠΎΡ€ΠΎΠΆΠΈΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠΌ ΠΈ своСй Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΠ΅ΠΉ, поэтому всячСски содСйствуСм ΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌΡƒ. Π’ частности, ΠΏΠΎΠΌΠΎΠ³Π°Π΅ΠΌ Π² составлСнии Ρ€Π΅Π·ΡŽΠΌΠ΅ ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ ΠΊ собСсСдованиям, Π° наши ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΠΈ (Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ спСциалисты Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΊΠ°ΠΊ Π‘Π±Π΅Ρ€Π±Π°Π½ΠΊ, ЯндСкс, Π”ΠΎΠ΄ΠΎ ΠŸΠΈΡ†Ρ†Π° ΠΈ Ρ‚.Π΄.) Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ пСрспСктивным студСнтам.

ΠœΡ‹, Π² Noric IT School, Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ спСциалистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΠΊ сСрСдинС курса ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ практичСскиС Π·Π°Π΄Π°Ρ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ Π² качСствС тСстовых Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… IT компаниях.

И Π²ΠΎΡ‚ нСсколько самых популярных Π·Π°Π΄Π°Π½ΠΈΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ backend-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π° php, с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

Числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ – это ряд чисСл, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ число Ρ€Π°Π²Π½ΠΎ суммС Π΄Π²ΡƒΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ…: 1, 1, 2, 3, 5, 8, 13…

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΅Π΅ Π² ΠΊΠΎΠ΄:

Π—Π°Π΄Π°Ρ‡Π° Π½Π° подсчСт количСства

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ функция ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ количСство «программистов», Π½Π° Π²Ρ‹Π΄Π°Ρ‡Π΅ β€” ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ склонСниС слова «программист».

Π’Π—: ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ число (программистов), Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π΄Π°Π²Π°Ρ‚ΡŒ это ΠΆΠ΅ число + слово β€œΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚β€ Π² склонСнии, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ числу.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 2 программистА

Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ β€” Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” это Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ΄.

0 β€” программистов (ΠΏΡ€ΠΎ ноль Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ β€” ΠΎΠ½ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½)

ВсС, ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Π»ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ остаток ΠΎΡ‚ дСлСния Π½Π° 10, Π° Π² ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ случаях Π½Π° 100. Π’ зависимости ΠΎΡ‚ остатка, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ€Π½ΠΎΠ΅ склонСниС ΠΈ вывСсти Π΅Π³ΠΎ.

ОбновлСниС По ΠΏΡ€ΠΎΡΡŒΠ±Π΅ Π°Π²Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ 7 ΠΌΠ°Ρ€Ρ‚Π° 2021 Π³.

РасскаТитС ΠΏΡ€ΠΎ наслСдованиС Π² PHP

Π—Π΄Π΅ΡΡŒ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΎΠ½ΠΊΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π²Π°Π΅Ρ‚ «валятся» Π΄Π°ΠΆΠ΅ сами спСциалисты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ проводят ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ.

НаслСдованиС β€” это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· 3-Ρ… постулатов ООП (Π΅Ρ‰Π΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΈ инкапсуляция), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ΅Π½ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сильно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ количСство ΠΊΠΎΠ΄Π° ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для управлСния. Π‘ΡƒΡ‚ΡŒ наслСдования проста: Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько классов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: User, Message ΠΈ Comment), с большим количСством ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (Ρ‡ΠΈΡ‚Π°ΠΉ копипастных), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ всС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ вынСсти ΠΈΡ… Π² ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Unit ΠΈ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ слова extends, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всС эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ· Unit Π² User, Message ΠΈ Comment.

Какой ΠΏΡ€ΠΎΡ„ΠΈΡ‚? Польза Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π΅ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π°, Π° всСго ΠΎΠ΄ΠΈΠ½ (ΠΊΠΎΠ΄ сильно сократился). И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π²Π΄Ρ€ΡƒΠ³ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ, Ρ‚ΠΎ мСняСтС это Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС, Π° измСнСния ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π²Π΅Π·Π΄Π΅.

Π’ΠΎΠ½ΠΊΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: Π² PHP Π½Π΅Ρ‚ мноТСствСнного наслСдования, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСльзя Π² ΠΎΠ΄Π½ΠΎΠΌ классС Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ‚ Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ классов.

НО для интСрфСйсов (Π½Π΅ графичСских) β€” мноТСствСнноС наслСдованиС Π΅ΡΡ‚ΡŒ.

Вопрос Π½Π° засыпку: А ΠΊΠ°ΠΊ Π±Ρ‹Ρ‚ΡŒ, Ссли Π½Π΅Ρ‚Ρƒ мноТСствСнного наслСдования, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ хочСтся?

ΠžΡ‚Π²Π΅Ρ‚: для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этого вопроса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π’Ρ€Π΅ΠΉΡ‚Ρ‹ ΠΈ интСрфСйсы.

РасскаТитС Ρ‡Π΅ΠΌ static отличаСтся ΠΎΡ‚ self

Π­Ρ‚ΠΎ классичСский вопрос Π½Π° ΠΏΠΎΠ·Π΄Π½Π΅Π΅ статичСскоС связываниС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π΄Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Π΄ΠΆΡƒΠ½Π°ΠΌ (Ρ€Π΅ΠΆΠ΅), Ρ‚Π°ΠΊ ΠΈ ΡΠΈΠ½ΡŒΠΎΡ€Π°ΠΌ.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ статичСского связывания (Late Static Binding) Π½ΡƒΠΆΠ΅Π½ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΡƒΡ‡Π°Ρ‚ΡŒΡΡ Π΄ΠΎ статичСских свойств (ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²), ΠΈΠ»ΠΈ констант Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ…, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ вынСсти ΠΎΠ±Ρ‰ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нСсколькими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π² Π‘Π” Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс.

Вопрос классичСский ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠΉ, Ссли ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ, Π·Π½Π°Ρ‡ΠΈΡ‚ скорСС всСго это Β«ΠΌΠΈΠΌΠΎΒ».

РСшСниС:

$_POST β€” Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ассоциативный массив Π½ΠΎ ΡƒΠΆΠ΅ собранный ΠΈΠ· POST ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π΅Ρ…, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅Π»Π΅ запроса.

Вопрос Π½Π° засыпку: (ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚) Β«Π° ΠΊΠ°ΠΊ Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ POST ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² PHPΒ«?

МоТно Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ создании telegram-Π±ΠΎΡ‚Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

БобСсСдования Π½Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ PHP Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсСдовании php junior
Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ часто (постоянно) ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ собСсСдованиС людСй ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΡƒΡΡ‚Ρ€ΠΎΠΈΡ‚ΡΡŒΡ Π² ΠΌΠΎΠΉ ΠΎΡ‚Π΄Π΅Π» Π½Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ Β«junior PHP developerΒ» ΠΈ Β«PHP developerΒ». И, с Π·Π°Π²ΠΈΠ΄Π½Ρ‹ΠΌ постоянством, я ΠΈ team-lead ΠΎΡ‚Π΄Π΅Π»Π° Π·Π°Π΄Π°Π΅ΠΌ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ вопросы…

КаТдоС собСсСдованиС начинаСтся с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ вопроса:

β€” ΠŸΠΎΡ‡Π΅ΠΌΡƒ PHP?

Π”Π°Π»Π΅Π΅, приблиТаСмся ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΌΡ‹ пытаСмся ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈ собСсСдуСмый Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ ООП, ΠΎ абстракции, наслСдовании, инкапсуляции ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅. Ага, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³ΡƒΠ»ΠΈΠ²Π°Π» Π² унивСрситСтС πŸ˜‰

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ начинаСтся самоС ΠΎΠ½ΠΎ:

β€” ΠšΠ°ΠΊΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ PHP использовали? Π’ Ρ‡Π΅ΠΌ различия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ ΠΈ пятой вСрсиями?

β€” Какими сторонними Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ пользовались?

β€” ΠžΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ CMF/CMS?

β€” Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² PHP?(ΠΈΡ… всСго 8, Π½Π΅ Π²Π΅Ρ€ΠΈΡ‚Π΅ β€” Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΌΠ°Π½ΡƒΠ°Π»)

β€” Назови ΠΏΠΎ памяти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами, строками

β€” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сСриализация?

И Π΄Π°Π»Π΅Π΅ нСсколько практичСских вопросов…

β€” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Apache? А mod_rewrite?

β€” АббрСвиатура SVN ΠΈ CVS ΠΎ Ρ‡Π΅ΠΌ-Π½ΠΈΡ‚ΡŒ говорят?

β€” Π‘Π°Π³Ρ‚Ρ€Π΅ΠΊΠΈΠ½Π³ систСмы? BugZilla? JIRA?

НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΈ ΠΎ Π‘Π”:

β€” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСляционная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…?

β€” Нормализация, дСнормализация

β€” И Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ (связь ΠΌΠ½ΠΎΠ³ΠΎΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π² MySQL, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ влоТСнности)

HTML + CSS + W3C (знания HTML Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ):

β€” Нарисуй-ΠΊΠ° ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„Π°ΠΉΠ»Π°

β€” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ стандарты W3C?

β€” Π‘ *nix Π·Π½Π°ΠΊΠΎΠΌ?

β€” Apache ΠΈ PHP сСтапил?

Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ:

β€” Π—Π½Π°Π΅ΡˆΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI? Назови хотя Π±Ρ‹ ΠΈΡ… количСство. (это вопрос Π½Π° Β«ΠΏΡΡ‚ΡŒΒ»)

β€” По ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ осущСствляСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² сСти Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚?

β€” РасскаТи Ρ‡Ρ‚ΠΎ поисходит, ΠΊΠΎΠ³Π΄Π° Π² строкС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π½Π°Π±ΠΈΡ€Π°Π΅ΡˆΡŒ адрСс ΠΈ наТимаСшь Enter?

Π’ΡƒΡ‚ особо Π½Π΅ ΠΌΡƒΡ‡Π°Π΅ΠΌ, Ссли ΠΆΠ΅ Π² Ρ€Π΅Π·ΡŽΠΌΠ΅ ΡƒΠΊΠ°Π·Π°Π½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ знания английского ΠΊΠ°ΠΊ Β«Ρ…ΠΎΡ€ΠΎΡˆΠΎΒ» β€” Π²ΠΎΡ‚ Ρ‚ΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΡΠΏΠ΅ΡˆΠΈΡ‚ COTOHA β€” Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€Π°Π²Π΄ΠΈΠ²ΠΎ ΠΏΠΈΡˆΠΈΡ‚Π΅ β€” ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ унивСрситСта ΠΈΠ»ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΡˆΠΊΠΎΠ»Ρ‹β€¦ πŸ˜‰

Π‘Ρ‹Π²Π°Π΅Ρ‚, ΠΎΠ·Π°Π΄Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠΌ-Π½ΠΈΡ‚ΡŒ тСстом Π½Π° ΡΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (помСняй-ΠΊΠ° Π΄Ρ€ΡƒΠ³ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… A ΠΈ B мСстами Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ)

Π’ΠΎΡ‚ ΠΏΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Π΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» Π±Ρ‹ ΠΎ ΡƒΡ€ΠΎΠ²Π½Π΅ Π·Π½Π°Π½ΠΈΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° (brainbench для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚), Ссли Ρƒ ΠΊΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ β€” ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях…

ΠšΡ€ΠΎΡΡΠΏΠΎΡΡ‚: PHP: БобСсСдованиС (ΠΈ Ρ‚Π°ΠΌ ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²)

Upd: Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ вопросом Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅ скоро Π±ΡƒΠ΄Π΅Ρ‚: Β«Π§ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π₯Π°Π±Ρ€ ΠΏΠΎ пятницам?»…

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Бписок вопросов ΠΈ Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ собСсСдовании PHP программиста

Π“ΠΎΡ‚ΠΎΠ²ΡΡΡŒ ΠΊ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ собСсСдования, PHP программисты часто Π·Π°Π΄Π°ΡŽΡ‚ΡΡ вопросами: Ρ‡Ρ‚ΠΎ мСня Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ вопросы ΠΈ задания ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ? Вопросы ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ. Π—Π΄Π΅ΡΡŒ нСльзя ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Ρƒ вас Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ, ΠΈ ΠΊΠ°ΠΊΠΎΠ΅ тСстовоС Π·Π°Π΄Π°Π½ΠΈΠ΅ попросят ΠΏΡ€ΠΎΠΉΡ‚ΠΈ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ собраны Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ вопросы ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒΡΡ Π½Π° собСсСдовании ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ PHP программист Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ.

ОсновноС

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ PHP?

КакиС знаСшь вСрсии PHP?

Π•ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ вСрсии PHP:

Бинтаксис PHP

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ short tags ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² PHP?

Как ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ PHP ΠΊΠΎΠ΄ ΠΎΡ‚ HTML? Для Ρ‡Π΅Π³ΠΎ это Π½ΡƒΠΆΠ½ΠΎ?

Π˜Π·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для использования смСшанного содСрТимого скрипта: php, javascript, css ΠΈ Ρ‚.ΠΏ. Π˜Π·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ обСспСчиваСт удобство ΠΈ простоту понимания содСрТимого скрипта.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅ PHP?

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ участки ΠΊΠΎΠ΄Π° Π² PHP скриптС. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π½Π΅ отобраТаСтся ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ скрипта. PHP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… стилях:

ΠžΠ΄Π½ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки ΠΈΠ»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° PHP-ΠΊΠΎΠ΄Π° послС символов // ΠΈΠ»ΠΈ # ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π·Π°ΠΏΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ символов /* ΠΈ */ НапримСр:

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ Π² PHP?

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ…, Π΄Π°Π½Π½Ρ‹Π΅ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… парсятся.НапримСр, ΠΏΡ€ΠΈ использовании Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Hello, Π° ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π²Ρ‹Π²Π΅Π΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ тСкст, Π° Π½Π΅ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… PHP

Бколько Π² PHP Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…? КакиС это Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…?

Π’ PHP Π΅ΡΡ‚ΡŒ 8 Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

2 ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°:

Какой Ρ‚ΠΈΠΏ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² PHP?

Π’ PHP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ динамичСская типизация, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ указания Π΅Π΅ Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΈ объявлСнии.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ пСрСмСнная ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, это мСсто Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ пСрСмСнная ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°. НапримСр, Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π·Π° Π΅Π΅ ΠΏΡ€Π΅Π΄Π΅Π»ΠΎΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ·Π²Π½Π΅?

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ GET ΠΈ POST?

GET ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· адрСсной строки Π² Π²ΠΈΠ΄Π΅ строки с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. POST ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ HTTP Ρ‚Π΅Π»ΠΎ запроса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· html Ρ„ΠΎΡ€ΠΌΡƒ). GET ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π°Π½Π½Ρ‹Π΅ объСмом 1024 символов. POST ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ установлСн Π² настройках сСрвСра.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ константы? Как ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹Π΅ константы?

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ€ строки Π² Ρ„Π°ΠΉΠ»Π΅.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΈ имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° с Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΌΠΈ симлинками. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° возвращаСтся имя Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

ДирСктория Ρ„Π°ΠΉΠ»Π°. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° возвращаСтся дирСктория этого Ρ„Π°ΠΉΠ»Π°.

Имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π² случаС Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Имя класса, содСрТит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ пространства ΠΈΠΌΠ΅Π½, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ класс Π±Ρ‹Π» объявлСн (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Block\Aside).

Имя Ρ‚Ρ€Π΅ΠΉΡ‚Π°, содСрТит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ пространства ΠΈΠΌΠ΅Π½, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ‚Ρ€Π΅ΠΉΡ‚ Π±Ρ‹Π» объявлСн (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Block\Aside).

Имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ пространства ΠΈΠΌΠ΅Π½.

ПолноС имя класса (с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ пространства ΠΈΠΌΠ΅Π½).

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ PHP

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€?

КакиС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹?

Π’ PHP Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹?

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ это ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ, ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅, слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹?

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ истинности ΠΈΠ»ΠΈ лоТности ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ дСйствий ΠΈΠ»ΠΈ условий. Π•ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания обозначаСтся Π·Π½Π°ΠΊΠΎΠΌ = ΠΈ позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹?

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ это ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π½Π°Π΄ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΎΠΉ Π±ΠΈΡ‚ΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для сравнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ собой.Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния:

ВоТдСствСнно Π½Π΅ Ρ€Π°Π²Π½ΠΎ

ΠšΠΎΡΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΊΠΎΡ€Π°Π±Π»ΡŒ (spaceship)

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ управлСния ошибками?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ управлСния ошибками обозначаСтся Π·Π½Π°ΠΊΠΎΠΌ @ ΠΈ позволяСт ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ошибок для ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ исполнСния?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ исполнСния позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ строку, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ « ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄. НапримСр:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° 1 (Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ). PHP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ прСфиксныС ΠΈ постфиксныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° Π² стилС C.НапримСр:

Π§Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСй: ΠΏΡ€Π΅ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ постинкрСмСнт?

ΠŸΡ€Π΅ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, измСняя содСрТимоС самой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ постинкрСмСнт создаСт Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ строковыС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹?

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с тСкстом. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ (‘.’) соСдиняСт Π² строку Π»Π΅Π²Ρ‹ΠΉ ΠΈ ΠΏΡ€Π°Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания с ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠ΅ΠΉ (‘.=’), соСдиняСт Π² строку ΠΏΡ€Π°Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊ Π»Π΅Π²ΠΎΠΌΡƒ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ°?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° instanceof ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ экзСмпляром ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ класса.

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ конструкции

НСт, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’ Ρ„Π°ΠΉΠ»Π°Ρ…, Π³Π΄Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ PHP ΠΊΠΎΠ΄, Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ случайноС ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π² Π²Ρ‹Π²ΠΎΠ΄.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ require(), require_once(), include(), include_once()?

Π’ Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° while ΠΎΡ‚ do while?

Π’Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° do-while выполнится хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ условиС провСряСтся Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ†ΠΈΠΊΠ»Π°, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² Ρ†ΠΈΠΊΠ»Π΅ while условиС ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π²Π½Π°Ρ‡Π°Π»Π΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ goto ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ goto обСспСчиваСт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ. ΠœΠ΅ΡΡ‚ΠΎ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ производится ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ указываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΈ с Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ. Для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ этому мСсту ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ goto ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ.

Π’ Ρ‡Π΅ΠΌ различия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ break ΠΈ continue?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ инструкций for, foreach, while, do-while ΠΈΠ»ΠΈ switch, Π° ΠΎΠΏΡ€Π°Ρ‚ΠΎΡ€ continue пропускаСт Ρ‡Π°ΡΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°.

Как ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ for, foreach, while, do-while ΠΈΠ»ΠΈ switch?

Как ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ for, foreach, while, do-while ΠΈΠ»ΠΈ switch?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ declare?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ declare ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ установку Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² исполнСния для Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² declare нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ константы?

Π’ declare нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ константы, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²ΠΎ врСмя компиляции Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ declare.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ синтаксис?

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ синтаксис ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² if, while, for, foreach ΠΈ switch ΠΈ позволяСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ запись выраТСния, использовав вмСсто ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобки Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ (:), Π° вмСсто Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобки endif;, endwhile;, endfor;, endforeach; ΠΈΠ»ΠΈ endswitch;

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ?

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ парсятся ΠΈ ΠΈΡ… содСрТимоС выводится, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… просто отобразят Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст.

Π’ Ρ‡Π΅ΠΌ различия ΠΌΠ΅ΠΆΠ΄Ρƒ echo ΠΈ print?

Оба ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° тСкста. echo() являСтся конструкциСй, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ нСсколько Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° экран. print() Π½Π΅ совсСм функция ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π±Π΅Π· скобок.

Π”Π°Π½Π° строка «Hello world!». Как ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ строку?

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ строку, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ strrev()

ΠœΠ°ΡΡΠΈΠ²Ρ‹

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ элСмСнт ΠΈΠ· массива?

Для удалСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ элСмСнта ΠΈΠ· массива Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ unset(). НапримСр:

Π”Π°Π½ массив [1,2,3,4,5,6,7]. Как ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ [7,6,5,4,3,2,1]?

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ массив, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ array_reverse()

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта массива [1,2,3,4,5,10,20,30,40,50,70,100, 10, 30, 50]?

Π›ΠΈΠ±ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ»:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ функция?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ?

АргумСнты Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ это Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ списка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². АргумСнты Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ запятыми ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ слСва Π½Π° ΠΏΡ€Π°Π²ΠΎ.

КакиС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ способы ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ?

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ осущСствляСтся: ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ), ΠΏΠΎ ссылкС, значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Как просиходит ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ?

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ ссылкС происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ указания Π½ΠΎΠ²Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Как происходит ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ ссылкС?

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ ссылкС происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ указания ампСрсанда ( & ) ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π² описании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Как для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ просиходит установка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ?

Установка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ просиходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ указания Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Какой ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ?

Как происходит ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ функциям Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅?

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ функциям Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ присоСдинСния ΠΊ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок. PHP Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π°Π½Π°Π½ΠΈΠΌΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ?

Анонимная функция, ΠΈΠ»ΠΈ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, замыкания (closures), прСдставляСт собой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ callback-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ static функция?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСкурсия?

ΠšΠ»Π°ΡΡΡ‹ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ MVC?

MVC (Model-View-Controller) схСма шаблона проСктирования, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° Ρ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, интСрфСйсом отобраТСния Π΄Π°Π½Π½Ρ‹Ρ…, взаимосвязью прилоТСния с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. МодСль ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° экран. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ конструктор?

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ это ΠΌΠ΅Ρ‚ΠΎΠ΄ _constructor(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся ΠΏΡ€ΠΈ создании экзСмпляра класса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова new.

Как Π² PHP ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ мноТСствСнноС наслСдованиС?

Π’ PHP нСльзя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ мноТСствСнноС наслСдованиС. Π£ класса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ. Для эмуляции мноТСствСнного наслСдования ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ _call() ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅ΠΉΡ‚Ρ‹ (traits). Π’Ρ€Π΅ΠΉΡ‚ позволяСт Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… классах.

НазовитС основныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ концСпциями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования ΡΠ²Π»ΡΡŽΡ‚ΡΡ: инкапсуляция, наслСдованиС, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ внСшнСго Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ использования. НаслСдованиС позволяСт ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ создаСт ΠΎΠ±Ρ‰ΠΈΠΉ интСрфСйс для схоТих ΠΏΠΎ смыслу дСйствий, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ мноТСство Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄?

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ класса Π² классах-наслСдниках для Π²Ρ‹Π·ΠΎΠ²Π° Π²ΠΎ врСмя исполнСния.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ класс?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚?

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ это Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‡Π»Π΅Π½Ρ‹ класса?

Π§Π»Π΅Π½Π°ΠΌΠΈ класса Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’ Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ класса ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°?

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ являСтся экзСмпляром Ρ‚ΠΈΠΏΠ° класса. Класс являСтся Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

Π•ΡΡ‚ΡŒ нСсколько Ρ‚ΠΈΠΏΠΎΠ² опрСдСляСмых ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Π’ Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΡ‚ глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅, Π° Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΎ всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ абстрактный класс?

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ абстрактным классом ΠΈ интСрфСйсом?

Π—Π°Ρ‡Π΅ΠΌ интСрфСйс, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ абстрактный класс?

ΠŸΡ€ΠΎΠΈΠ·Π²Π΅ΡΡ‚ΠΈ наслСдованиС ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ абстрактного класса, Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ мноТСство интСрфСйсов. Абстрактный класс наслСдуСтся, Π° интСрфСйс рСализуСтся.

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π° ΠΈΠΌΠ΅Π½

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ пространства ΠΈΠΌΠ΅Π½?

КакиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ пространство ΠΈΠΌΠ΅Π½?

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅Π½ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΈΠΌΠ΅Π½ классов, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, констант ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

Как ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ пространства ΠΈΠΌΠ΅Π½?

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ пространства ΠΈΠΌΠ΅Π½?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ use?

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово use позволяСт ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ псСвдоним ΠΈΠΌΠ΅Π½ΠΈ?

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ?

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок Π² PHP: ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠΉΠΌΠ°Ρ‚ΡŒ.

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ yield?

Бсылки

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ссылка?

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ ссылки?

Бсылки ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: присвоСниС ΠΏΠΎ ссылкС, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΏΠΎ ссылкС ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΏΠΎ ссылкС.

Π§Ρ‚ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ссылки?

Бсылки Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ указатСлями Π½Π° Π΄Π°Π½Π½Ρ‹Π΅.

Cookie

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Cookie ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ?

Π§Ρ‚ΠΎ нСльзя Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Cookie ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ?

Π’ cookie Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС нСльзя Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π΅Π½Π΄ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, Π½ΠΎΠΌΠ΅Ρ€Π° ΠΊΠ°Ρ€Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ подлСнности ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°ΠΌ Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ содСрТимоС cookie ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ просмотрСно ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π»ΡŽΠ±Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

КакиС Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ cookie?

БСссии

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сСссии ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ?

Вопросы MySQL

Π“Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ сайта?

ΠŸΠ°Ρ€ΠΎΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ сайта Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π² ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ: sha1(), crypt(), password_hash().

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ значСния Π² ΠΏΠΎΠ»Π΅ MySQL?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

БобСсСдованиС php-developer (вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹)

Π’Π°ΠΊ ΡƒΠΆ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Π² этом Π³ΠΎΠ΄Ρƒ я ΠΏΡ€ΠΎΡˆΠ΅Π» ряд собСсСдований Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ PHP Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‡Π΅Π³ΠΎ я Π½Π΅ Π΄Π΅Π»Π°Π» ΡƒΠΆΠ΅ нСсколько Π»Π΅Ρ‚. Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ Π»Π΅Π½ΠΈΠ²Ρ‹ΠΌ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ, ΠΏΠ΅Ρ€Π΅Π΄ собСсСдованиСм я попытался Π½Π°ΠΉΡ‚ΠΈ сборники вопросов-ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², Π½ΠΎ всС Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ Π±Ρ‹Π»ΠΎ довольно старым, поэтому я Ρ€Π΅ΡˆΠΈΠ» сам ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ список вопросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ встрСчал.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ… Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопросы, Π½ΠΎ Ссли Π²Ρ‹ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π½Π° достаточно ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ Π²Ρ‹ΠΆΠΈΠΌΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ явно нСдостаточно ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ довольно Π³Π»ΡƒΠ±ΠΎΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ сам вопрос, поэтому я Π² основном вставил ссылки Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ описываСмым вопросам.

PHP

Π§Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² PHP 7.*

Π­Ρ…, помню Π²Ρ€Π΅ΠΌΠ΅Π½Π° ΠΊΠΎΠ³Π΄Π° рассказывал Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ 4 ΠΈ 5 вСрсиями, Π² Π³Π»Π°Π·Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΈΠ΄Π΅Π² 4-ю, старыС Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ, вопрос встрСчаСтся ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° всСх собСсСдованиях, ΠΈ Ρ…ΠΎΡ‚ΡŒ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ вспомнитС дословно Π² ΠΊΠ°ΠΊΠΎΠΉ вСрсии ΠΊΠ°ΠΊΠΈΠ΅ измСнСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ, Π² Ρ†Π΅Π»ΠΎΠΌ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ стоит Π·Π½Π°Ρ‚ΡŒ:

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π₯отя PHP это динамичСский язык, всС ΠΆΠ΅ всС Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΌ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹:
БкалярныС Ρ‚ΠΈΠΏΡ‹:

Type hinting + strict mode

Как Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ, которая ΠΏΡ€ΠΈΡˆΠ»Π° вмСстС с php 7.*, Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ строгой ΠΈ нСстрогой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, подробности Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎΠ΅ ΠΈ нСстрогоС сравнСниС

НуТно ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ нСстрогим сравнСниСм (сравнСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈ строгим сравнСниСм (с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…), ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ данная Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΠ°. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ стоит Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ строгоС ΠΈ нСстрогоС сравнСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π Π°Π±ΠΎΡ‚Π° с ссылками

Бсылки Π² PHP β€” это, Π³Ρ€ΡƒΠ±ΠΎ говоря, способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (области памяти) ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ с ссылками:

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π²Π΅Ρ€Π½ΠΎ Π΄ΠΎ php5, Π½ΠΎ сСйчас пСрСдаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (докумСнтация).
Если Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅, Ссли Π²Ρ‹ создали ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ Π΅Π³ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ сдСлали
это Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‡Ρ‚ΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΎΠΆΠ΅ обнулится, Π²Ρ‹ всС Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. А Π²ΠΎΡ‚ Ссли Π²Ρ‹ явно ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ ссылкС β€” Ρ‚ΠΎ это дСйствиС β€œΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚β€ ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Copy-on-write

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· пСрСдавая ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (тСорСтичСски) Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ скопировано. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ для Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° integer ΠΈΠ»ΠΈ float, Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ массив, содСрТащий Π΄Π΅ΡΡΡ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого Π² PHP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° копирования-ΠΏΡ€ΠΈ-записи (copy-on-write). Π’Π°ΠΊ, Π½Π° самом Π΄Π΅Π»Π΅, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ массива Π΅Π³ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ происходит Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π»ΠΈΠ±ΠΎ Π² этом массивС. Π‘Ρ‚Π°Ρ‚ΡŒΡ с Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ объяснСниСм.

Run time error handling

Π’ 7-ΠΉ вСрсии php ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ ряд ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ошибок (большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ), Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ оТидаСтся Ρ‡Ρ‚ΠΎ ΡΠΎΠΈΡΠΊΠ°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ смоТСт Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой собствСнный error_handler.

Замыкания

Они ΠΆΠ΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² качСствС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ callback-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², докумСнтация. Π•ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ, хотя ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ старая ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с замыканиями Π½Π° Π₯Π°Π±Ρ€Π΅.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами

Часто просят Π½Π°Π·Π²Π°Ρ‚ΡŒ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ. И хотя, ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ мнСнию, этот вопрос Ρ‡ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ бСссмыслСнный, ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Ѐункция list()

Благодаря измСнСниям Π² PHP 7.1 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ стало ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅, ΠΊΠ°ΠΊ слСдствиС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π΅ Ρ‡Π°Ρ‰Π΅, всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅/ΡΡƒΠΏΠ΅Ρ€Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΊΠ°ΠΊ ясно ΠΈΠ· названия, доступны Π²Π΅Π·Π΄Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ статичСскиС/константы.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости свойства/ΠΌΠ΅Ρ‚ΠΎΠ΄Π°/константы класса

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов public (Π²ΠΈΠ΄Π½ΠΎ всСм), protected (доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ классу ΠΈΠ»ΠΈ Π΅Π³ΠΎ наслСдникам) ΠΈΠ»ΠΈ private (доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ классу), ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ для свойств/ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Ρ‚Π°ΠΊ начиная ΠΈ с PHP 7.1 для констант класса. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Final классы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

РазмСстив ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово final ΠΏΠ΅Ρ€Π΅Π΄ объявлСниями ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… классах, Π° Π² случаС объявлСния самого класса ΠΊΠ°ΠΊ final β€” Π΅Π³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ. Π’Π°ΠΊΠΈΠ΅ классы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΈΠ·Π²Π°Π½Ρ‹ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° сам ΠΊΠΎΠ΄ становится ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ПозднСС статичСскоС связываниС

ВыраТаСтся Π² Ρ€Π°Π·Π½ΠΈΡ†Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ self:: ΠΈ static. «ПозднСС связываниС» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ static:: Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ Π² Ρ…ΠΎΠ΄Π΅ исполнСния ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π² классах β€” наслСдниках. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ΠœΠ°Π³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Π’ PHP Π±Π΅Π· ΠΌΠ°Π³ΠΈΠΈ совсСм Π½ΠΈΠΊΡƒΠ΄Π°, поэтому Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ стандартноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ __serialize()/__unserialize() ), ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Π½Π΅Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… для Π½Π΅Π³ΠΎ ситуациях (__toString()) ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.
ДокумСнтация, ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ, Ρ…ΠΎΡ‚ΡŒ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° Ρ…Π°Π±Ρ€Π΅.

ДинамичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ имя ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ β€œΠ΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈβ€.

Π˜Ρ… слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с большой ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠΎΠ΄Π° (Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π±Π΅Π· запуска ΠΊΠΎΠ΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ), ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² абстракциях. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово yield) ΡΠΎΠ·Π΄Π°ΡŽΡ‚ простыС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ позволяя ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² ситуациях, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ большой объСм Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТно ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ€ΠΎΠ²Π½ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΊΠ°ΠΊ Π²Ρ‹ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ свой Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€.

ОписаниС Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΈ Π΅ΡΡ‚ΡŒ довольно старая (ΠΎΠ΄Π½Π°ΠΊΠΎ с Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° синтаксис Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π½Π΅ измСнился) ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° Ρ…Π°Π±Ρ€Π΅.

Reflection API

ΠšΡ€Π°Ρ‚ΠΊΠΎ говоря, это ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ своСго (ΠΈΠ»ΠΈ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°), ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Ρƒ класса Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, константы, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ. Данная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² симфони для Π°Π²Ρ‚ΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ dependency injection) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. ОписаниС Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ разумССтся ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° Ρ…Π°Π±Ρ€Π΅.

Autoloader

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ самому Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ классов, ΠΎΠ΄Π½Π°ΠΊΠΎ для ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΈΡˆΡƒΡ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ большиС ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ хотят Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄ΠΎΠΌ), ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΎ особСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² это Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Или Standard PHP Library β€” Π½Π°Π±ΠΎΡ€ классов (структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, классы для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²), интСрфСйсов ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ стандартных Π·Π°Π΄Π°Ρ‡. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π·Π½Π°Π½ΠΈΠ΅ Π½Π°ΠΈΠ·ΡƒΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π΅ трСбуСтся, Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΠ· Ρ‡Π΅Π³ΠΎ ΠΎΠ½Π° состоит стоит хотя Π±Ρ‹ для Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ развития. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ β€” www.php.net/manual/ru/book.spl.php

APC/APCu

Alternative PHP cache (APC) ΠΈΠ»ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ кСш Π±Π΅Π· ΠΎΠΏΠΊΠΎΠ΄Π° (APCu) β€” бСсплатный кСш с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° PHP. Π’ основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сохранСния вычислСний ΠΌΠ΅ΠΆΠ΄Ρƒ запросами. ДокумСнтация:

OPcache

Π£Π»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ PHP ΠΏΡƒΡ‚Ρ‘ΠΌ сохранСния скомпилированного Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° скриптов Π² раздСляСмой памяти, Ρ‚Π΅ΠΌ самым избавляя PHP ΠΎΡ‚ нСобходимости Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрипты ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запросС. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΊΠ°ΠΊ это всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π₯Π°Π±Ρ€Π΅.

PSR standards

PHP Standards Recommendations β€” стандарты оформлСния ΠΊΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ интСрфСйсы для стандартных Π·Π°Π΄Π°Ρ‡. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ стандарты Π²ΠΎ всСх (извСстных ΠΌΠ½Π΅) Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ…, ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° Π₯Π°Π±Ρ€Π΅.

Composer

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ зависимостСй, Π° Ρ‚Π°ΠΊΠΆΠ΅ инструмСнт Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠΎΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ самого ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ускорСнии прилоТСния для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°.

XDebug

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ это Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для облСгчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΠΆΠ΅ Π΅Π³ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, основныС знания здСсь β€” ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, с этим ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ blog.denisbondar.com/post/phpstorm_docker_xdebug.

Rest API

REpresentational State Transfer β€” Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всС возмоТности HTTP. Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° эту Ρ‚Π΅ΠΌΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ различия REST ΠΈ SOAP.
Π’ контСкстС API Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ основныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‡Π°Ρ‰Π΅ всСго это XML ΠΈ JSON.

ВСсты

Π’ основС всСх unit тСстов Π»Π΅ΠΆΠΈΡ‚ PHPUnit (насколько ΠΌΠ½Π΅ извСстно), ΠΈ Π½Π° сСгодняшний дСнь, ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΈ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. МногиС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ (Ρ‚ΠΎΡ‚ ΠΆΠ΅ Symfony) ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ свои ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для тСстирования. Π’ΠΎΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎ Π»ΡƒΡ‡ΡˆΠΈΡ… инструмСнтах для тСстирования.

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ/наслСдованиС/ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

АбстрактныС классы/ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ абстрактного класса, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ – ΠΎΠ½ описываСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сигнатуры ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ наслСдники. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ абстрактного класса, класс ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ мноТСство интСрфСйсов.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация, ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° Ρ…Π°Π±Ρ€Π΅.

Traits

Π’Ρ€Π΅ΠΉΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° класс, Π½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для группирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΈ Π΅Π³ΠΎ дальнСйшСго ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎ мноТСствС классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны ΠΎΠ΄Π½ΠΈΠΌ абстрактным классом. Иногда Π΅Ρ‰Π΅ говорят, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅ΠΉΡ‚ β€” это способ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ мноТСствСнноС наслСдованиС Π² PHP.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ мноТСство Ρ‚Ρ€Π΅ΠΉΡ‚ΠΎΠ², ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚Ρ€Π΅ΠΉΡ‚Π°Ρ… ΠΈ/ΠΈΠ»ΠΈ самом классС. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅ΠΉ ΠΎ Ρ‚Ρ€Π΅ΠΉΡ‚Π°Ρ… Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

GRASP ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹

General Responsibility Assignment Software Patterns β€” ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² ΠΈΠ· Π‘Π°Π½Π΄Ρ‹ Π§Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…, GRAPS ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΉ структуры, Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ области примСнСния ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π° лишь ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹/Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ/ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° систСмы.

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ Π±Π°Π½Π΄Ρ‹ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…

Π’Π΅ΠΌΠ° ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² ΠΎΠ±ΡˆΠΈΡ€Π½Π°, Π½Π° Π½Π΅Π΅ написано ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ статСй, ΠΈ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ это Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… прСдлоТСниях просто Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. МнС нравится этот рСсурс β€” refactoring.guru/ru/design-patterns/catalog, Π½ΠΎ ΠΏΡ€ΠΈ нСобходимости Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этой ссылкой.

SOLID

Π•Π³ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ всС, Π½ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ.

ΠŸΠ»ΠΎΡ…ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” вас просят Π·Π°Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΠΈΡ… опрСдСлСния.
Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ β€” Π²Π°ΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, ΠΈ просят ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования, ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‡Π΅ΠΌ Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚. Π’Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ мнСнию, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° ΠΈ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ².

На Π₯Π°Π±Ρ€Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ дСсятки Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… статСй ΠΏΠΎ этим ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ, поэтому я даю ссылку Π½Π° medium.

Keep it simple, stupid β€” Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, вся ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΠΆΠ΅ содСрТится Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ здСсь.

Don’t repeat yourself β€” ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ здСсь.

Databases

Π₯ΠΎΡ€ΠΎΡˆΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π½Π° Ρ‚Π΅ΠΌΡƒ SQL Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь. Вопросы ΠΏΠΎ NoSql Π±Π°Π·Π°ΠΌ Π² ΠΌΠΎΠ΅ΠΌ случаС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ MongoDB. Π’ случаС с ElasticSearch ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ, ΠΎΠ±Ρ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡Π΅Ρ€ΠΏΠ½ΡƒΡ‚ΡŒ ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° Π₯Π°Π±Ρ€Π΅.

In memory Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° (Ρ‚Π΅ Ρ‡Ρ‚ΠΎ хранят значСния Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти) β€” memcached ΠΈ/ΠΈΠ»ΠΈ redis (Ρ‡Π°Ρ‰Π΅ всСго), ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² вопросС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, разумССтся Π΅ΡΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° Π₯Π°Π±Ρ€Π΅.

Docker

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ инструмСнт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ использовался ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° всСх ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… (Π² ΠΌΠΎΠ΅ΠΌ случаС). И хотя Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ настраиваСтся ΠΎΠ½ Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ‹ Π·Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, основныС понятия ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ. Π›ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅ для собСсСдования нравится эта ΡΡ‚Π°Ρ‚ΡŒΡ.

HTTP ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹

РазумССтся, любой Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня). Π’Π΅ΠΌΠ° большая ΠΈ Π² нСсколько ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΅Π΅ слоТно ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ, Π½Π° Π₯Π°Π±Ρ€Π΅ Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° эту Ρ‚Π΅ΠΌΡƒ.

Авторизация ΠΈ аутСнтификация

Авторизация β€” прСдоставлСниС ΠΏΡ€Π°Π² Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… дСйствий, Π° Ρ‚Π°ΠΊΠΆΠ΅ процСсс ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ выполнСния этих дСйствий.

АутСнтификация β€” ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ подлинности, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° подлинности ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡƒΡ‚Π΅ΠΌ сравнСния Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌ пароля.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ использовании session ΠΈ cookies, JSON Web Tokens (JWT) ΠΈ Π΄Ρ€.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *