Π€ΡƒΠ½ΠΊΡ†Ρ–Ρ—, Π²ΠΈΠ·Π½Π°Ρ‡Π΅Π½Ρ– користувачСм

НавСдСмо ΠΏΡ€ΠΈΠΊΠ»Π°Π΄ синтаксису, який Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚ΡŒΡΡ для опису Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΠΉ:

ПсСвдокод для дСмонстрації використання Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΠΉ

Loading...

ВсСрСдині Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— ΠΌΠΎΠΆΠ½Π° використовувати Π±ΡƒΠ΄ΡŒ-який ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΈΠΉ PHP-ΠΊΠΎΠ΄, Ρƒ Ρ‚ΠΎΠΌΡƒ числі Ρ–Π½ΡˆΡ– Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— Ρ‚Π° Π½Π°Π²Ρ–Ρ‚ΡŒ оголошСння класів

Π†ΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΠΉ Π΄ΠΎΡ‚Ρ€ΠΈΠΌΡƒΡŽΡ‚ΡŒΡΡ Ρ‚ΠΈΡ… самих ΠΏΡ€Π°Π²ΠΈΠ», Ρ‰ΠΎ ΠΉ Ρ–Π½ΡˆΡ– ΠΌΡ–Ρ‚ΠΊΠΈ Π² PHP. ΠšΠΎΡ€Π΅ΠΊΡ‚Π½Π΅ Ρ–ΠΌ'я Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— ΠΏΠΎΡ‡ΠΈΠ½Π°Ρ”Ρ‚ΡŒΡΡ Π· Π±ΡƒΠΊΠ²ΠΈ Π°Π±ΠΎ символу підкрСслСння, Π·Π° яким слідує Π±ΡƒΠ΄ΡŒ-яка ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ Π±ΡƒΠΊΠ², Ρ†ΠΈΡ„Ρ€ Π°Π±ΠΎ символів підкрСслСння. Π―ΠΊ рСгулярний Π²ΠΈΡ€Π°Π· Π²ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ Π²ΠΈΡ€Π°ΠΆΠ΅Π½Π΅ Ρ‚Π°ΠΊ: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$

ΠŸΡ–Π΄ΠΊΠ°Π·ΠΊΠ°

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ΠŸΠΎΡΡ–Π±Π½ΠΈΠΊ Π· імСнування

Π€ΡƒΠ½ΠΊΡ†Ρ–Ρ— Π½Π΅ ΠΏΠΎΠ²ΠΈΠ½Π½Ρ– Π±ΡƒΡ‚ΠΈ Π²ΠΈΠ·Π½Π°Ρ‡Π΅Π½Ρ– Π΄ΠΎ Ρ—Ρ… використання, Π²ΠΈΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‡ΠΈ Ρ‚ΠΎΠΉ Π²ΠΈΠΏΠ°Π΄ΠΎΠΊ, ΠΊΠΎΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— Π²ΠΈΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡŒΡΡ ΡƒΠΌΠΎΠ²Π½ΠΎ, як ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Ρƒ Π΄Π²ΠΎΡ… наступних ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π°Ρ….

Π£ Π²ΠΈΠΏΠ°Π΄ΠΊΡƒ, ΠΊΠΎΠ»ΠΈ функція Π²ΠΈΠ·Π½Π°Ρ‡Π°Ρ”Ρ‚ΡŒΡΡ Π·Π°Π»Π΅ΠΆΠ½ΠΎ Π²Ρ–Π΄ Π±ΡƒΠ΄ΡŒ-якої ΡƒΠΌΠΎΠ²ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΊΠ»Π°Π΄, як Ρ†Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Ρƒ Π΄Π²ΠΎΡ… Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ… Π½ΠΈΠΆΡ‡Π΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π°Ρ…, ΠΎΠ±Ρ€ΠΎΠ±ΠΊΠ° опису Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— ΠΏΠΎΠ²ΠΈΠ½Π½Π° ΠΏΠ΅Ρ€Π΅Π΄ΡƒΠ²Π°Ρ‚ΠΈ Ρ—Ρ— Π²ΠΈΠΊΠ»ΠΈΠΊ.

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #2 Π€ΡƒΠ½ΠΊΡ†Ρ–Ρ—, Ρ‰ΠΎ Π·Π°Π»Π΅ΠΆΠ°Ρ‚ΡŒ Π²Ρ–Π΄ ΡƒΠΌΠΎΠ²

Loading...

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #3 Π’ΠΊΠ»Π°Π΄Π΅Π½Ρ– Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ—

Loading...

Усі Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— Ρ‚Π° класи PHP ΠΌΠ°ΡŽΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρƒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимості - Π²ΠΎΠ½ΠΈ ΠΌΠΎΠΆΡƒΡ‚ΡŒ Π±ΡƒΡ‚ΠΈ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Π½Ρ– ΠΏΠΎΠ·Π° Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ”ΡŽ, Π½Π°Π²Ρ–Ρ‚ΡŒ якщо Π±ΡƒΠ»ΠΈ Π²ΠΈΠ·Π½Π°Ρ‡Π΅Π½Ρ– всСрСдині Ρ‚Π° Π½Π°Π²ΠΏΠ°ΠΊΠΈ.

PHP Π½Π΅ ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΡƒΡ” пСрСвантаТСння Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ—, Ρ‚Π°ΠΊΠΎΠΆ Π½Π΅ΠΌΠ°Ρ” моТливості ΠΏΠ΅Ρ€Π΅Π²ΠΈΠ·Π½Π°Ρ‡ΠΈΡ‚ΠΈ Π°Π±ΠΎ Π²ΠΈΠ΄Π°Π»ΠΈΡ‚ΠΈ ΠΎΠ³ΠΎΠ»ΠΎΡˆΠ΅Π½Ρƒ Ρ€Π°Π½Ρ–ΡˆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΡŽ.

ЗауваТСння: Π†ΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΠΉ рСєстронСзалСТний для символів ASCII Π²Ρ–Π΄ AΠ΄ΠΎZΠ’ΠΈΠΌ Π½Π΅ мСнш, ΠΊΡ€Π°Ρ‰Π΅ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— Ρ‚Π°ΠΊ, як Π²ΠΎΠ½ΠΈ Π±ΡƒΠ»ΠΈ ΠΎΠ³ΠΎΠ»ΠΎΡˆΠ΅Π½Ρ–.

Π€ΡƒΠ½ΠΊΡ†Ρ–Ρ— PHP ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΡƒΡŽΡ‚ΡŒ як списки Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ–Π² Π·ΠΌΡ–Π½Π½ΠΎΡ— Π΄ΠΎΠ²ΠΆΠΈΠ½ΠΈ, Ρ‚Π°ΠΊ изначСння Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ–Π² Π·Π° умовчаннямБмотритС Ρ‚Π°ΠΊΠΆΠ΅ описания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉfunc_num_args() func_get_arg() Ρ– func_get_args() для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ–ΡˆΠΎΡ— Ρ–Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†Ρ–Ρ—.

МоТна Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— PHP рСкурсивно.

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #4 РСкурсивні Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ—

Loading...

ЗауваТСння: РСкурсивний Π²ΠΈΠΊΠ»ΠΈΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ–Π²/ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π· глибиною ΠΏΠΎΠ½Π°Π΄ 100-200 Ρ€Ρ–Π²Π½Ρ–Π² рСкурсії ΠΌΠΎΠΆΠ΅ спричинити пСрСповнСння стСка Ρ‚Π° призвСсти Π΄ΠΎ Π°Π²Π°Ρ€Ρ–ΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ скрипту. Π—ΠΎΠΊΡ€Π΅ΠΌΠ°, нСскінчСнна рСкурсія Π²Π²Π°ΠΆΠ°Ρ‚ΠΈΠΌΠ΅Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΎΡŽ помилкою.