часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

20 Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ PHP-программиста ΠΎΡ‚ обСзьянки

часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π€ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

PHP β€” самый популярный язык для написания ΠΊΠΎΠ΄Π° сСрвСрной части. Одной ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ†Π΅Π»ΠΈ Π½Π° Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ нСсколькими путями: ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€Π°ΡΠΈΠ²ΡƒΡŽ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡƒΡŽ систСму, Π° ΠΌΠΎΠΆΠ½ΠΎ быстро ΡΠ»Π΅ΠΏΠΈΡ‚ΡŒ вмСстС куски ΠΊΠΎΠ΄Π° со Stack Overflow, Π½Π΅ забивая сСбС чСрСсчур Π³ΠΎΠ»ΠΎΠ²Ρƒ Ρ‚Π°ΠΊΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»Π° проСктирования ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΏΠΎΠΊΠ° Π΅Ρ‰Π΅ Π½Π΅ Π³ΡƒΡ€Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²Ρ‹ всС Ρ€Π°Π²Π½ΠΎ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΌ Π½Π΅ захочСтся ΠΏΠ»Π°ΠΊΠ°Ρ‚ΡŒ. Tproger вас Π²Ρ‹Ρ€ΡƒΡ‡ΠΈΡ‚ β€” Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ собрано 20 совСтов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ Π·Π° слСдованиС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Π°ΠΌ ΠΏΠΎΡ‚ΠΎΠΌ скаТут спасибо. А Π² пСрспСктивС ΠΏΡ€ΠΈΠ»Π΅ΠΆΠ½ΠΎΠ΅ слСдованиС этим совСтам ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡΡ‚Π°Ρ‚ΡŒ Π±Π»ΠΈΠΆΠ΅ ΠΊ статусу ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ относящСгося ΠΊ дСталям Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

ΠžΡ‚Π΄Π΅Π»ΡΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ

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

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” ваши Π΄Ρ€ΡƒΠ·ΡŒΡ

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ссли Π²Ρ‹ ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π½Π°Π±ΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ΄ Π½Π° Π²ΠΎΠ»Π½Π΅ вдохновСния, становится ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π΅ Π΄ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². Но ΠΊΠΎΠ΄, написанный Π΄Π°Π²Π½ΠΎ, ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ β€” Π΄Π°ΠΆΠ΅ Ссли писали Π΅Π³ΠΎ Π²Ρ‹. Π›ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ сСбС ΠΏΠ°Ρ€ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… мСстах, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ скрипта.

ΠŸΡ€Π°Π²Π΄Π°, просто? Π•Ρ‰Π΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° PHPDoc.

Π“Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄

НСт Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ…ΡƒΠΆΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ стСны ΠΊΠΎΠ΄Π°, Π°Π²Ρ‚ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ явно Π½Π΅ Π·Π½Π°Π» ΠΎ сущСствовании ΠΊΠ½ΠΎΠΏΠΊΠΈ Tab. НС спасут Π΄Π°ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” отступы ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ логичСски ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°. А использованиС ΠΈΠ»ΠΈ нСиспользованиС отступов ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ вас ΠΊΠ°ΠΊ ΠΎ программистС. Π’ΠΎΡ‚ этот ΠΊΠΎΠ΄ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ:

А Π²ΠΎΡ‚ это β€” Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый ΠΊΠΎΠ΄, Π½ΠΎ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ:

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ способ форматирования ΠΊΠΎΠ΄Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ β€” ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ PSR-Ρ‹.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ понятныС ΠΈΠΌΠ΅Π½Π°

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡƒ мнСнию ΠΏΠΎ этому вопросу ΠΏΡ€ΠΈΠΉΡ‚ΠΈ нСльзя. camelCase ΠΈΠ»ΠΈ under_score? НуТна Π»ΠΈ ВСнгСрская нотация? Π’Π°ΠΆΠ½ΠΎ здСсь ΠΎΠ΄Π½ΠΎ: Ρ€Π°Π· ΠΈ навсСгда ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π±Π»ΠΈΠΆΠ΅. А Π΄Π°ΠΆΠ΅ Ссли Π²Π°ΠΌ ΠΈ захочСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ, Ρ‚ΠΎ поТалуйста, Π½Π΅ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это посрСди ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°! Π Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ имСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Ρ…ΡƒΠΆΠ΅, Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ β€” это уТасно. И Π½ΠΈΠΊΠ°ΠΊΠΈΡ… магичСских чисСл! НС ΠΏΠΎΠ»Π΅Π½ΠΈΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ константы.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, PHP автоматичСски создаСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΊ Π½ΠΈΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ. Но Π²Π°ΠΌ Π½Π΅ каТСтся, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этой ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ довольно рискованно? Π₯ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ считаСтся всСгда ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΅Ρ‰Π΅ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ использованиСм. Π­Ρ‚ΠΎ сдСлаСт ΠΊΠΎΠ΄ понятнСС ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ случайно ΠΊ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π‘ΡƒΠ»Π΅Π²Π° пСрСмСнная Π»ΠΎΠΆΠ½Π°, ΠΈΠ½Π°Ρ‡Π΅ β€” истинна

Π—Π°Ρ‡Π΅ΠΌ это? ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ провСряСтС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ запросом ΠΊ Π±Π°Π·Π΅. Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π±Π»ΠΎΠΊ if Π²Π΄Ρ€ΡƒΠ³ Π½Π΅ выполнится, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ останСтся false β€” Ρ‚Π°ΠΊ Π²Ρ‹ подстрахуСтС сСбя ΠΎΡ‚ попадания Π² Π±Π°Π·Ρƒ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΊΠΎΠ΄Π΅ ΠΏΠΎΡ€ΠΎΠΉ приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ сначала ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅. Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ практичСски написано ΠΊΡ€ΠΎΠ²ΡŒΡŽ.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ Π½Π°ΠΌ, Ρ‡Π΅ΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ элСмСнтам массива

Π’ ΠΊΠΎΠ΄Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° доступа ΠΊ элСмСнтам ассоциативного массива:

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

Если Π²Π°ΠΌ Π½Π°Π΄ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΊ строкС, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ запятыС, Π° Π½Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? Π’ΠΎΡ‡ΠΊΠ° β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк, эта опСрация Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Π”ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ.

А Π²ΠΎΡ‚ Ρ‚Π°ΠΊ β€” Π½Π΅ Π½Π°Π΄ΠΎ:

ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ

Если Ρƒ вас Π² ΠΊΠΎΠ΄Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ простоС сравнСниС, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ простой ΠΊΠΎΠ΄ Π½Π° нСсколько строк. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ваш простой if :

Но ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈ Ρ‚Π°ΠΊ:

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ для сравнСния с Π±ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ значСниями строгоС сравнСниС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ ΠΈ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ просто ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π° 1 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ ΠΏΠΈΡΠ°Ρ‚ΡŒ эту Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

ΠšΡƒΠ΄Π° Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Π΅Π΅ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сокращСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания

Если ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π½Π°Π΄ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π° число, Π½Π΅ Ρ€Π°Π²Π½ΠΎΠ΅ 1, Ρ‚ΠΎ ΠΈ Π² этом случаС ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ. НапримСр, Ρƒ вас Π² ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅:

А ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сокращСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, этот ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π‘ΠΎ строками, кстати, это Ρ‚ΠΎΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Если понадобится ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ строкС ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ, сдСлайтС это Ρ‚Π°ΠΊ:

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для var_dump

Иногда Π±Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎ врСмя Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ часто Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ прямо Π½Π° страницу Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅ лишний Ρ€Π°Π· Ρ‚Π°ΠΊ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΠΎ Ссли всС-Ρ‚Π°ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ смысл сСбС ΠΏΠΎΠΌΠΎΡ‡ΡŒ. Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Вэг pre ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ. ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ‚Π°ΠΊΠΎΠ΅ странноС имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π°Π½ΠΎ нСслучайно β€” ΠΎΠ½ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅, Ρ…ΠΎΡ‚ΡŒ ΠΈ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅. ΠΠ°Π±Ρ€Π°Ρ‚ΡŒ Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ быстро. Волько ΠΏΠΎΡ‚ΠΎΠΌ Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ΄Ρ‡ΠΈΡ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Но Π»ΡƒΡ‡ΡˆΠ΅ всСго Π·Π°Π±Ρ‹Ρ‚ΡŒ этот совСт ΠΈ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ XDebug.

ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ константами

Если Ρƒ вас Π΅ΡΡ‚ΡŒ пСрСмСнная, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ стоит, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто Π½Π΅Π΅ константу. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π½ΠΈΡ… ΠΏΡƒΡ‚ΠΈ, сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Имя константам стоит Π΄Π°Π²Π°Ρ‚ΡŒ капсом β€” Ρ‚Π°ΠΊ ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ просто ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ, ΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€ΡƒΠΊΠ°ΠΌΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ значСния Π² адрСсной строкС Π½Π° Π»ΡŽΠ±Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Π°ΠΌ Π½Π΅ΠΌΠ°Π»ΠΎ Ρ…Π»ΠΎΠΏΠΎΡ‚.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π° Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

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

Π’Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ

Если Π²Ρ‹ подряд Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, Π½Π΅ выписывая ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½Π°Π·Π²Π°Π½ΠΈΠ΅ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Если Π΅ΡΡ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ класс:

… Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ это ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ.

НС повторяйтС сСбя

ВсСгда ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ-Π΄Π²ΡƒΡ… Ρ€Π°Π·. Если этого Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ распухнСт ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΊΡƒΡ‡ΠΈ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… строчСк.

ΠŸΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… DRY ΠΈ WET.

Π‘Ρ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ ΠΊ слабой связанности ΠΈ сильной сцСплСнности

Π‘Π²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ β€” это способ проСктирования ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ измСнСния Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ссли Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΎΠ΄Π½Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, придСтся Π»ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ? Π§Π΅ΠΌ свободнСС связь, Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΡ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π½Π΅ пСрСлопачивая ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ ΠΊΠΎΠ΄Π°.

Π‘Ρ†Π΅ΠΏΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΆΠ΅ β€” это ΠΊΠΎΠ³Π΄Π° вмСстС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ части ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΠΌΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Π£ вас Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° функция ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π° вСсь ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, которая Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, ΠΈΠ»ΠΈ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСт свой участок Ρ€Π°Π±ΠΎΡ‚Ρ‹? ОсобСнно это касаСтся ООП. Π”Ρ€ΠΎΠ±ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, магичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π° дСсятки ΠΈ сотни строк нСдопустимы.

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

ΠŸΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот совСт ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ этот ΠΊΠΎΠ΄:

Π“Π»Π°Π²Π½Ρ‹ΠΉ минус этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° сама осущСствляСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π”Π° ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ совсСм ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ β€” ΡΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ, ΡΡ‚ΠΎΠ»ΡŒ ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ слоТСниС Π²Π°ΠΌ вряд Π»ΠΈ Π΅Ρ‰Π΅ Π³Π΄Π΅-Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ понадобится. А Ссли Π²Π°ΠΌ Π΅Ρ‰Π΅ ΠΈ захочСтся ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ сообщСниС для Π²Ρ‹Π²ΠΎΠ΄Π°? Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ каТдая функция выполняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ: add складываСт числа, result Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π₯ΠΈΠ½Ρ‚ для программистов: Ссли Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π½Π° сорСвнования Huawei Cup, Ρ‚ΠΎ бСсплатно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-школС для участников. МоТно ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌ ΠΈ Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ·Ρ‹ Π² самом сорСвновании.

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ рСгистрации

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

9 PHP Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ всСм

Бколько Π±Ρ‹ ΠΌΡ‹ Π½Π΅ использовали PHP, всё Ρ€Π°Π²Π½ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ. НСкоторыС ΠΈΠ· Π½ΠΈΡ… Π±Ρ‹Π»ΠΈ Π±Ρ‹ Π½Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹. Π― создал нСбольшой список ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² арсСналС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ PHP программиста.

1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ числом Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ PHP позволяСт Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. БСйчас я ΠΏΠΎΠΊΠ°ΠΆΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ число Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ случая ΠΊ ΡΠ»ΡƒΡ‡Π°ΡŽ.

Но для Π½Π°Ρ‡Π°Π»Π°, вспомним ΠΊΠ°ΠΊ ΠΌΡ‹ создаём Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ количСством Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Для этого Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ func_get_args():

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Glob() для поиска Ρ„Π°ΠΉΠ»ΠΎΠ²

Часто названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ говорят сами Π·Π° сСбя. Π’Π°ΠΊΠΎΠ³ΠΎ нСльзя ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ glob().

Если Π½Π΅ Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² подробности, Π΅Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ схоТа с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ scandir(). Она позволяСт Π½Π°ΠΉΡ‚ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ:

Для нахоТдСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π½Π°Π΄ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π² шаблонС ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ:

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ realpath():

3. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ памяти

Если Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ количСство памяти, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡΡŠΠ΅Π΄Π°Π΅Ρ‚ΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²Π°ΡˆΠΈΡ… скриптов Ρ‚ΠΎ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Ρ‡Π°Ρ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π’ PHP сущСствуСт ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт отслСТивания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ памяти. Π’ Ρ€Π°Π·Π½Ρ‹Ρ… частях скрипта Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ памяти Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½Π°ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ memory_get_usage(). Для фиксации максимального количСства ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ памяти ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ memory_get_peak_usage()

4. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ процСссорС

Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ getrusage(). Но ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π° Windows эта функция Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

ΠšΠ°Ρ€Ρ‚ΠΈΠ½Π°, излоТСнная Π²Ρ‹ΡˆΠ΅, Π±ΡƒΠ΄Π΅Ρ‚ понятно Ρ‚Π΅ΠΌ, Ρƒ ΠΊΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ Π² систСмном администрировании. Для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΡƒ:

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы вашСго процСссора ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ скриптом, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€˜user time’ (врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅) ΠΈ ’system time’ (врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ Π² сСкундах, Ρ‚Π°ΠΊ ΠΈ Π² микросСкундах. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство сСкунд Π² дСсятичноС число, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ микросСкунд Π½Π° 1 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ сСкунд.

Π—Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π₯отя Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта заняло ΠΎΠΊΠΎΠ»ΠΎ 3-Ρ… сСкунд, процСссор Π½Π΅ Π±Ρ‹Π» сильно Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ (sleep) скрипт практичСски Π½Π΅ потрСбляСт рСсурсов процСссора. Π’ΠΎΠΎΠ±Ρ‰Π΅ сущСствуСт мноТСство Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ процСссор. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ связанных с диском. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ процСссорноС врСмя Π² своих скриптах.

Π Π°Π±ΠΎΡ‚Π° скрипта заняла 1.4 сСкунды процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, врСмя систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΠ·ΠΊΠΎΠ΅.

ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (System Time) – это врСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ процСссор Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ систСмных запросов ΠΊ ядру ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ систСмного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС, Ρ‡Π΅ΠΌ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Всё благодаря ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ microtime(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ рСсурсы систСмы.

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

5. ΠœΠ°Π³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ константы

Π’ PHP сущСствуСт мноТСство магичСских констант, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки (__LINE__), ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ (__FILE__), ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ (__DIR__), имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (__FUNCTION__), имя класса (__CLASS__), имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (__METHOD__) ΠΈ пространства ΠΈΠΌΡ‘Π½ (__NAMESPACE__).

ВсС ΠΌΡ‹ ΠΈΡ… Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ лишь ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΡƒ:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ __LINE__ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ скриптов:

6. Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ID

Π‘Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ строку. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Ρ€Π°Π· я Π²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ md5():

Но Π½Π° самом Π΄Π΅Π»Π΅ для этих Ρ†Π΅Π»Π΅ΠΉ Π² PHP Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция uniqid()

НСвооруТённым взглядом ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ символы мягко говоря схоТи… Π’Π°ΠΊ происходит ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ врСмя сСрвСра для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ символов. Π­Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ρ‚.ΠΊ. всС сгСнСрированныС значСния ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро ΠΈΡ… ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΡˆΠ°Π½ΡΡ‹ получСния Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π°, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ прСфикс ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ количСство символов):

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ строки Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ мСньшС, Ρ‡Π΅ΠΌ md5, Ρ‚Π΅ΠΌ самым Π²Ρ‹ смоТСтС ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ мСсто.

7. БСриализация

Π’Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ комплСксныС Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Π΅ ΠΈΠ»ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅? Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² строку Π² PHP прСдусмотрСна ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция.

Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² 2: serialize() ΠΈ unserialize()

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Π²ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Однако ΠΈΠ·-Π·Π° Π±ΡƒΡ€Π½ΠΎΠ³ΠΎ роста популярности JSON, Π² PHP 5.2 Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ 2 ΠΌΠ΅Ρ‚ΠΎΠ΄Π° json_encode() ΠΈ json_decode(). Π˜Ρ… Ρ€Π°Π±ΠΎΡ‚Π° схоТа с serialize():

Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΈ совмСстимый с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ JavaScript. Однако ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΡ‡Π΅Π½ΡŒ Π½Π°Π²ΠΎΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ потСря Π΄Π°Π½Π½Ρ‹Ρ….

8. Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ строк

Кода ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ сТатии, Ρ‚ΠΎ Π½Π° ΡƒΠΌ сразу ΠΆΠ΅ приходят Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ZIP. PHP прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сТатия Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строк Π±Π΅Π· всяких Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ продСмонстрируСм Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ gzcompress() ΠΈ gzuncompress():

Π’ Π½Π°ΡˆΠΈΡ… силах ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΡ‘ΠΌ тСкста Π½Π° 50%. Π’ этих ΠΆΠ΅ цСлях ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ gzencode() ΠΈ gzdecode(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сТатия.

9. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ

Π’ PHP сущСствуСт функция register_shutdown_function(), которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта.

Допустим, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽβ€¦ ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта:

На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Для этих Ρ†Π΅Π»Π΅ΠΉ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ„Π°ΠΉΠ»Π°. Однако Ссли ΠΏΠ΅Ρ€Π΅Π΄ этим Π³Π΄Π΅-Ρ‚ΠΎ сработаСт функция exit(), этот ΠΊΠΎΠ΄ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ сработаСт. Π’Π°ΠΊ ΠΆΠ΅, ΠΎΠ½ Π½Π΅ сработаСт Ссли Π½Π° страницС Π±ΡƒΠ΄Π΅Ρ‚ ошибка ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€Π΅Ρ€Π²Ρ‘Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ страницы (Π½Π°ΠΆΠ°Π² Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² своём Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅);

ΠŸΡ€ΠΈ использовании ΠΌΠ΅Ρ‚ΠΎΠ΄Π° register_shutdown_function() ΠΊΠΎΠ΄ выполнится Π² любом случаС:

Π’Ρ‹Π²ΠΎΠ΄

PHP это цСлая ΠΏΠ»Π°Π½Π΅Ρ‚Π°, которая Π½Π΅ пСрСстаёт нас ΡƒΠ΄ΠΈΠ²Π»ΡΡ‚ΡŒ своим содСрТимым. А Ρ‡Ρ‚ΠΎ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ Π²Ρ‹ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… функциях?

Π”Π°Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ для вас ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ сайта ruseller.com
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ ΡƒΡ€ΠΎΠΊΠ°: www.net.tutsplus.com/tutorials/php/9-useful-php-functions-and-features-you-need-to-know/
ΠŸΠ΅Ρ€Π΅Π²Π΅Π»: Бтанислав ΠŸΡ€ΠΎΡ‚Π°ΡΠ΅Π²ΠΈΡ‡
Π£Ρ€ΠΎΠΊ создан: 4 ΠœΠ°Ρ€Ρ‚Π° 2011
ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²: 95397
ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ

5 послСдних ΡƒΡ€ΠΎΠΊΠΎΠ² Ρ€ΡƒΠ±Ρ€ΠΈΠΊΠΈ «PHP»

Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ zend-filter

Когда Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ бСзопасности Π²Π΅Π±-сайта, Ρ‚ΠΎ Ρ„Ρ€Π°Π·Π° «Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠΉΡ‚Π΅ всё, экранируйтС всё» всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°. БСгодня ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π€ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎΠ΅ экранированиС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ zend-escaper

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ бСзопасности Π²Π΅Π±-сайта β€” это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ SQL ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ, Π½ΠΎ ΠΈ протСкция ΠΎΡ‚ мСТсайтового скриптинга (XSS), мСТсайтовой ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ запросов (CSRF) ΠΈ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² Π°Ρ‚Π°ΠΊ. Π’ частности, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ остороТно ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ HTML, CSS ΠΈ JavaScript ΠΊΠΎΠ΄Π°.

часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π€ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Zend ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΊ Expressive

Expressive 2 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ΠΈΡ… ZF ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ схСмС. НС всСм нравится Π΄Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ расскаТСм ΠΊΠ°ΠΊ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΈ процСсс ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π€ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

Π‘ΠΎΠ²Π΅Ρ‚: ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Google Analytics Ρ‡Π΅Ρ€Π΅Π· API

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Google Analytics ΠΈΠ· сСрвСрного скрипта. Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ΠžΡ‚Π²Π΅Ρ‚ Π² этой Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅.

часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π€ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° PHP пСсочниц

ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² PHP пСсочниц. На Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ online смоТСтС ΠΏΠΎΡ‚Π΅ΡΡ‚ΠΈΡ‚ΡŒ свой ΠΊΠΎΠ΄, Π½ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π½Π° свой сайт.

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

О возмоТностях PHP ΠΈ встроСнных функциях для Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ использования

ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ дня! ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ наш Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ PHP. БСгодня Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ± основных функциях PHP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ понадобятся Π²Π°ΠΌ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.

ВозмоТности языка

ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ лиричСскоС отступлСния ΠΈ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° PHP ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сайты. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для создания ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… (дСсктоп) ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈ любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Windows, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ для этого Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Π° Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ сСрвСр. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, PHP являСтся Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для создания дСсктоп ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅ΡΡ‚ΡŒ.

ΠšΡ€ΠΎΠΌΠ΅ этого PHP, ΠΏΠΎΠΌΠΈΠΌΠΎ создания web-страничСк (HTML), ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настоящиС PDF Ρ„Π°ΠΉΠ»Ρ‹, XML, изобраТСния, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΄Π°ΠΆΠ΅ Flash Ρ€ΠΎΠ»ΠΈΠΊΠΈ. Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ всСго Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Тёсткий диск, PHP ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ «Π½Π° Π»Π΅Ρ‚Ρƒ», Π±Π΅Π· сохранСния ΠΈΡ… ΠΊΡƒΠ΄Π°-Π»ΠΈΠ±ΠΎ.

Π’ ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹ ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС. Но Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ стоит ΡΠΏΠ΅ΡˆΠΈΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, вСдь Π² PHP ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ сотни встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ станут вашими Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌΠΈ ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π’Π°ΠΊ ΠΊΠ°ΠΊ срСди ΠΌΠΎΠΈΡ… Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Π΅Π»Π°ΡŽΡ‚ сайты Π½Π° популярных CMS (Joomla, WordPress ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… ΠΌΠ°Π»ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с PHP ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² Ρ†Π΅Π»ΠΎΠΌ, Ρ‚ΠΎ ΡΠΏΠ΅ΡˆΡƒ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PHP ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² любой CMS, Π² любом мСстС! И ΠΏΡ€ΠΈ этом ΠΎΡ‚ вас Π½Π΅ трСбуСтся Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ…, Π²ΡˆΠΈΡ‚Ρ‹ Π² ядро PHP ΠΈ Π½ΠΈΠΊΡƒΠ΄Π° ΠΎΡ‚ Ρ‚ΡƒΠ΄Π° Π΄Π΅Ρ‚ΡŒΡΡ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚.

Бписок всСх встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ возмоТностСй PHP Π² Ρ†Π΅Π»ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС: http://php.net Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ Ρ€ΠΈΠ½Π΅Ρ‚Π΅ΡΡŒ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ, я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ PHP, Π½ΠΎ ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка программирования.

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ PHP

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всё Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ упомянутой Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ count():

часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π€ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

Как ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Ρ…ΠΎΡ‡Ρƒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° mixed – ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π½ΠΎ это Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ любой Ρ‚ΠΈΠΏ. КакиС ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΌ описании ΠΊ Π½Π΅ΠΉ.

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚Π° ΠΈΠ»ΠΈ иная константа, установлСнная ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ описании ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, встрСчайтС список Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ пригодятся!

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PHP

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΎΠΎΠ±Ρ‰Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ gettype ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ вмСстС с echo, для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° экран. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΈ Π² зависимости ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ is_, ΠΎ Π½ΠΈΡ… дальшС.

Допустимыми значСниями Ρ‚ΠΈΠΏΠ° ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²

Π”ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ привСдСния Ρ‚ΠΈΠΏΠΎΠ²:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° сущСствованиС

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ 2 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: isset() ΠΈ empty() – Π»ΠΈΡ‡Π½ΠΎ я ΠΎΡ‡Π΅Π½ΡŒ люблю ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΡ‡Π΅Π½ΡŒ часто.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ считаСтся пустой, Ссли ΠΎΠ½Π°:

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ TRUE, Ссли пСрСмСнная пустая ΠΈΠ»ΠΈ FALSE, Ссли пСрСмСнная Π½Π΅ пустая.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… функциями, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅:

часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π€ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для манипулирования ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ массива:

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

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ с ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ послСдний элСмСнт массива, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ array_pop(). Π•Ρ‘ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ array_shift().

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° массивов

rsort() β€” Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ массив Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС.

arsort() β€” Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ массив Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС, сохраняя ΠΊΠ»ΡŽΡ‡ΠΈ.

krsort() β€” Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ массив ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС.

natsort() β€” Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ массив, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ «natural order».

natcasesort() β€” Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ массив, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ «natural order» Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра символов.

usort() β€” Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ массив ΠΏΠΎ значСниям ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для сравнСния элСмСнтов.

uksort() β€” Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ массив ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для сравнСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

uasort() β€” Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ массив, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для сравнСния элСмСнтов с сохранСниСм ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк

explode() – Π Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ строку Π½Π° подстроки Π² массив. Π’ Ρ€ΠΎΠ»ΠΈ раздСлитСля выступаСт Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ символ ΠΈΠ»ΠΈ строка. КаТдая разбитая подстрока (Ρ‡Π°ΡΡ‚ΡŒ строки) – это ячСйка массива.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚ΠΎΠΉ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

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

9 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ PHP ΠΈ особСнностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ

Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: 2010-07-12

часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π€ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

ΠžΡ‚ Автора:

Π”Π°ΠΆΠ΅ послС ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½Π΅Π³ΠΎ использования PHP ΠΌΡ‹ натыкаСмся Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ особСнности, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π·Π½Π°Π»ΠΈ. НСкоторыС ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ, Π½ΠΎ ΠΌΠ°Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ. НС всС ΠΈΠ· нас Ρ‡ΠΈΡ‚Π°Π»ΠΈ руководство ΠΈ справочник Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΡ‚ ΠΊΠΎΡ€ΠΊΠΈ Π΄ΠΎ ΠΊΠΎΡ€ΠΊΠΈ!

1. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ количСством ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

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

Для Π½Π°Ρ‡Π°Π»Π°, Π²ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π€ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

БСсплатный курс ΠΏΠΎ PHP ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

ΠžΡΠ²ΠΎΠΉΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹ΠΉ сайт Π½Π° PHP ΠΈ MySQL с ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ нуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ модСль MVC

Π’ курсС 39 ΡƒΡ€ΠΎΠΊΠΎΠ² | 15 часов Π²ΠΈΠ΄Π΅ΠΎ | исходники для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠ°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ любоС количСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². На этот Ρ€Π°Π· ΠΌΡ‹ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ func_get_args():

2. ИспользованиС Glob() для поиска Ρ„Π°ΠΉΠ»ΠΎΠ²

Π£ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ PHP Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°. Однако Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ функция с ΠΈΠΌΠ΅Π½Π΅ΠΌ glob(), Ссли Π²Ρ‹ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с этим Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ.

Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ Π½Π΅ΠΉ ΠΊΠ°ΠΊ ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ scandir(). Она позволяСт ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ нСсколько Π²ΠΈΠ΄ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠ°ΠΊ здСсь:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ с путями, зависящими ΠΎΡ‚ вашСго запроса:

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ, просто Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ realpath() для массива Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

3. БвСдСния ΠΎΠ± использовании памяти

ΠžΠ±Ρ€Π°Ρ‚ΠΈΠ² Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС памяти своих скриптов, Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, смоТСтС большС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

PHP Π΅ΡΡ‚ΡŒ «сборщик мусора» (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° очистки памяти) ΠΈ довольно слоТный диспСтчСр памяти. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ вашим скриптом, ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ Π² процСссС Π΅Π³ΠΎ выполнСния. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свСдСния ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ использовании памяти ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ memory_get_usage(), Π° Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ наибольшСм объСмС памяти Π² любой Ρ‚ΠΎΡ‡ΠΊΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ memory_get_peak_usage().

4. БвСдСния об использовании CPU

Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ getrusage(). ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° нСдоступна Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows.

ΠœΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ таинствСнно, ΠΏΠΎΠΊΠ° Ρƒ вас Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π²Ρ‹ΠΊΠΎΠ² Π² администрировании систСмы. Π’ΠΎΡ‚ объяснСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния (ΡƒΡ‡ΠΈΡ‚ΡŒ это Π½Π°ΠΈΠ·ΡƒΡΡ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ):

ru_oublock: количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π±Π»ΠΎΡ‡Π½ΠΎΠΉ записи

ru_inblock: количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ чтСния

ru_msgsnd: количСство ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… сообщСний

ru_msgrcv: количСство принятых сообщСний

ru_maxrss: ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π΅Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π°

ru_ixrss: ΠΎΠ±Ρ‰ΠΈΠΉ объСм раздСляСмой памяти

ru_idrss: ΠΎΠ±Ρ‰ΠΈΠΉ объСм нСраздСляСмых Π΄Π°Π½Π½Ρ‹Ρ…

ru_minflt: количСство ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… страниц памяти

ru_majflt: количСство ошибок отсутствия страниц

ru_nsignals: количСство принятых сигналов

ru_nvcsw: количСство ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ контСкста процСссом

ru_nivcsw: количСство ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ контСкста

ru_nswap: количСство ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ диску ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠ΅ страниц

ru_utime.tv_usec: врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (микросСкунды)

ru_utime.tv_sec: врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (сСкунды)

ru_stime.tv_usec: врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (микросСкунды)

ru_stime.tv_sec: врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (сСкунды)

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы CPU потрСбляСт скрипт, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° значСния β€˜user time’ (врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅) ΠΈ β€˜system time’ (врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ сСкунд ΠΈ миллисСкунд ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ микросСкунд Π½Π° 1 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ сСкунд, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство сСкунд ΠΊΠ°ΠΊ дСсятичноС число.

Π₯отя Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта заняло ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 3 сСкунды, использованиС CPU Π±Ρ‹Π»ΠΎ ΠΎΡ‡Π΅Π½ΡŒ-ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΈΠΌ. Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²ΠΎ врСмя оТидания (sleep) скрипт фактичСски Π½Π΅ потрСбляСт рСсурсов CPU. БущСствуСт мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ врСмя, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ врСмя CPU, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ дисковой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, использованиС CPU ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния β€” Π½Π΅ всСгда ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅.

часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π€ΠΎΡ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php

БСсплатный курс ΠΏΠΎ PHP ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

ΠžΡΠ²ΠΎΠΉΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹ΠΉ сайт Π½Π° PHP ΠΈ MySQL с ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ нуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ модСль MVC

Π’ курсС 39 ΡƒΡ€ΠΎΠΊΠΎΠ² | 15 часов Π²ΠΈΠ΄Π΅ΠΎ | исходники для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠ°

Π­Ρ‚ΠΎΡ‚ скрипт использовал ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 1,4 сСкунды Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU, ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ всС врСмя Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ.

ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (System Time) – это количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ CPU Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ систСмных запросов ΠΊ ядру ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ этого:

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

Π•Ρ‰Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ 3 сСкундам Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎ. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π° сСрвСрС Ρ‚Π°ΠΊΠΆΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ процСссы, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ скрипт Π½Π΅ использовал 100% CPU Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСх 3 сСкунд.

5. ΠŸΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅, ΠΈΠ»ΠΈ Β«Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹Π΅Β» константы

PHP прСдусматриваСт ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Β«Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹Π΅Β» константы для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° строки (__LINE__), ΠΏΡƒΡ‚ΠΈ Ρ„Π°ΠΉΠ»Π° (__FILE__), ΠΏΡƒΡ‚ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° (__DIR__), ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (__FUNCTION__), ΠΈΠΌΠ΅Π½ΠΈ класса (__CLASS__), ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (__METHOD__) ΠΈ пространства ΠΈΠΌΠ΅Π½ (__NAMESPACE__).

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π½Π΅ собираСмся ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· Π½ΠΈΡ…, Π½ΠΎ я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ случаи ΠΈΡ… использования.

Когда Π² Π΄Π΅Π»ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ скрипты, Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ идСя β€” использованиС константы __FILE__ (ΠΈΠ»ΠΈ __DIR__ Π² вСрсии PHP 5.3):

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

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

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