ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° PXP, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ языка PHP

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

ΠŸΠ΅Ρ€Π²Π°Ρ вСрсия прСподносится ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΉ повсСмСстного примСнСния ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° PHP ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΡƒΡŽ парсСр PHP-Parser (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Rust, Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ этой ΠΈΠ΄Π΅ΠΈ). Из доступных Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… возмоТности отмСчаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многострочных Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΉ: $name = «Ryan»; $hello = fn (): void { echo «Hello, {$name}!»; }; $hello();

Π’ дальнСйшСм рассматриваСтся Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² PXP Ρ‚Π°ΠΊΠΈΡ… возмоТностСй, ΠΊΠ°ΠΊ сокращённыС ΠΈ Π±Π»ΠΎΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ выраТСния «match», условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «return», псСвдонимы Ρ‚ΠΈΠΏΠΎΠ², Π΄ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊΠΈ, Π²Π°Ρ€ΠΈΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, нСизмСняСмыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, сопоставлСния с ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru