ืžืขืœื“ื•ื ื’ ืคื•ืŸ PHP 7.4 ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš

ื ืึธืš ืึท ื™ืึธืจ ืคื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื“ืขืจืœืื ื’ื˜ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš ืคืคึผ ืงืกื ื•ืžืงืก. ื“ื™ ื ื™ื™ึทืข ืฆื•ื•ื™ื™ึทื’ ื›ื•ืœืœ ืึท ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื ื™ื™ึท ืคึฟืขื™ึดืงื™ื™ื˜ืŸ, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืขื˜ืœืขื›ืข ืขื ื“ืขืจื•ื ื’ืขืŸ ื•ื•ืึธืก ื‘ืจืขื›ืŸ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™.

ืฉืœื™ืกืœ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืื™ืŸ PHP 7.4:

  • ื˜ื™ื™ืคึผื˜ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก - ืงืœืึทืก ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืงืขื ืขืŸ ืื™ืฆื˜ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื˜ื™ืคึผ ื“ืขืงืœืขืจื™ื™ืฉืึทื ื–, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ:

    ืงืœืึทืก ื‘ืึทื ื™ืฆืขืจ {
    ืฆื™ื‘ื•ืจ ื™ื ื˜ $ื™ื“;
    ืฆื™ื‘ื•ืจ ืฉื˜ืจื™ืงืœ $ ื ืึธืžืขืŸ;
    }

  • ืึทื‘ืจื™ื•ื•ื™ื™ื™ื˜ื™ื“ ืกื™ื ื˜ืึทืงืก ืคึฟืึทืจ ื“ื™ืคื™ื™ื ื™ื ื’ ืคืึทื ื’ืงืฉืึทื ื– "fn (parameter_list) => ืขืงืกืคึผืจ" ืžื™ื˜ ืคืึทืจื ืขื ื‘ื™ื™ื ื“ื™ื ื’ ื“ื•ืจืš ื•ื•ืขืจื˜. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, "fn($x) => $x + $y" ืื™ื– ืึทื ืึทืœืึธื’ ืฆื• "$fn2 = ืคึฟื•ื ืงืฆื™ืข ($x) ื ื•ืฆืŸ ($y) {ืฆื•ืจื™ืงืงื•ืžืขืŸ $x + $y;}");
  • ืกื˜ืขื ืึธื’ืจืึทืคื™ืข ืึทืกื™ื™ื ืžืึทื ื˜ ืึธืคึผืขืจืึทื˜ืึธืจ "??=" ื•ื•ืึธืก ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ื“ืขืคื™ื ื™ืจืŸ ืึท ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืขืจื˜ ("ืึท ??= ื‘" ืื™ื– ืขื ืœืขืš ืฆื• "ืึท = ืึท ?? ื‘", ืื•ื™ื‘ "ืึท" ืื™ื– ื“ื™ืคื™ื™ื ื“, ื–ื™ื™ืŸ ื•ื•ืขืจื˜ ืื™ื– ืกื˜ืึธืจื“, ืื•ืŸ ืื•ื™ื‘ ื ื™ืฉื˜ ื“ื™ืคื™ื™ื ื“ ืขืก ืื™ื– ืึทืกื™ื™ื ื“ ื“ื™ ื•ื•ืขืจื˜ "ื‘" );
  • ืœื™ืžื™ื˜ืขื“ ื’ืขืœืขื’ื ื”ื™ื™ึทื˜ ืคึผืจืึทื–ืขืจื•ื•ื™ื ื’ ื“ื™ ื™ืจื•ืฉื” ื›ื™ื™ืขืจืึทืจืงื™ ืคื•ืŸ ื˜ื™ื™ืคึผืก ืื™ืŸ ื“ืขืจื™ื™ื•ื•ื“ ืงืจื™ืง ื˜ื™ื™ืคึผืก, ืึธื“ืขืจ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืคืึทืจืงืขืจื˜ ื“ื™ ื›ื™ื™ืขืจืึทืจืงื™ ืคื•ืŸ ื“ื™ ืึธืจื™ื’ื™ื ืขืœ ื˜ื™ื™ืคึผืก ืื™ืŸ ื“ืขืจื™ื™ื•ื•ื“ ืึทืจื’ื•ืžืขื ื˜ ื˜ื™ื™ืคึผืก (ืงืึธื•ื•ืึทืจื™ืึทื ืก ืฆื•ืจื™ืงืงื•ืžืขืŸ ื˜ื™ืคึผ ืื•ืŸ ืึทืจื’ื•ืžืขื ื˜ ื˜ื™ืคึผ ืงืึทื ื˜ืจืึทื•ื•ื™ืึทื ืก). ื“ื™ ืคืืœื’ืขื ื“ืข ืงืึทื ืกื˜ืจืึทืงืฉืึทื ื– ืงืขื ืขืŸ ืื™ืฆื˜ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ PHP:

    ืงืœืึทืก ื {}
    ืงืœืึทืก ื‘ ื™ืงืกื˜ืขื ื“ื– ื {}

    ืงืœืึทืก ืคึผืจืึธื“ื•ืฆื™ืจืขืจ {
    ืฆื™ื‘ื•ืจ ืคึฟื•ื ืงืฆื™ืข ืžืขื˜ืึธื“ (): ื {}
    }
    ืงืœืึทืก ChildProducer ื™ืงืกื˜ืขื ื“ื– ืคึผืจืึธื“ื•ืฆื™ืจืขืจ {
    ืฆื™ื‘ื•ืจ ืคึฟื•ื ืงืฆื™ืข ืื•ืคึฟืŸ (): ื‘ {}
    }

  • ืึทื ืคึผืึทืงื™ื ื’ ืึธืคึผืขืจืึทื˜ืึธืจ ื™ืŸ ืขืจื™ื™ื– "...$ื•ื•ืึทืจ", ืึทืœืึทื•ื™ื ื’ ื“ื•ืจื›ืคื™ืจืŸ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ืคื•ืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืขืจื™ื™ื– ื•ื•ืขืŸ ื“ื™ืคื™ื™ื ื™ื ื’ ืึท ื ื™ื™ึท ืžืขื ื’ืข;

    $parts = ['ืขืคึผืœ', 'ื‘ืึทืจื ืข'];
    $ืคืจื•ื™ืฅ = ['ื‘ืึทื ืึทื ืข', 'ืžืึทืจืึทื ืฅ', โ€ฆ$ื˜ื™ื™ืœืŸ, 'ืงืึทื•ื•ืขืžืขืœืึธืŸ'];
    // ['ื‘ืึทื ืึทื ืข', 'ืžืึทืจืึทื ืฅ', 'ืขืคึผืœ', 'ื‘ืึทืจื ืข', 'ืงืึทืกืขืจืžืขืœืึธืŸ'];

  • ื’ืขืœืขื’ื ื”ื™ื™ื˜ ื•ื•ื™ื–ืฉืึทื•ื•ืึทืœ ืคืึทืจื˜ืจืขื˜ื•ื ื’ ืคื•ืŸ ื’ืจื•ื™ืก ื ื•ืžืขืจืŸ ืžื™ื˜ ื“ืขืœื™ืžืึทื˜ืขืจื– ืื™ืŸ ื ื•ืžืขืจื™ืง ืœื™ื˜ืขืจืึทืœื– (1_000_000_00);
  • ะŸะพะดะดะตั€ะถะบะฐ ืฉื•ื•ืึทืš ืœื™ื ืงืก, ื•ื•ืึธืก ืœืึธื–ืŸ ืื™ืจ ืฆื• ื”ืึทืœื˜ืŸ ืึท ืจืขืคึฟืขืจืขื ืฅ ืฆื• ืึท ื›ื™ื™ืคืขืฅ, ืึธื‘ืขืจ ื˜ืึธืŸ ื ื™ื˜ ืคืึทืจืฉืคึผืึทืจืŸ ื“ื™ ืžื™ืกื˜ ืงืึทืœืขืงื˜ืขืจ ืคื•ืŸ ื•ื™ืกืžืขืงืŸ ื“ื™ ืคืืจื‘ื•ื ื“ืŸ ื›ื™ื™ืคืขืฅ;
  • ื ื™ื™ึท ื“ื™ ืžืขืงืึทื ื™ื–ืึทื ืึธื‘ื“ื–ืฉืขืงื˜ ืกื™ืจื™ืึทืœื™ื–ืึทื˜ื™ืึธืŸ (ืึท ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืกืขืจื™ืึทืœื™ื–ืึทื‘ืœืข ืื•ืŸ __ืกืœื™ืคึผ () / __ื•ื•ืึธืงืึทืคึผ ()), ื•ื•ืึธืก ืจื™ืคึผืœื™ื™ืกื˜ ื“ื™ ืกืขืจื™ืึทืœื™ื–ืึทื‘ืœืข ืฆื•ื‘ื™ื ื“, ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“;

    // ืงืขืจื˜ ืึท ืžืขื ื’ืข ืžื™ื˜ ืึทืœืข ื“ื™ ืฉื˜ืึทื˜ืŸ ืคื•ืŸ ื“ื™ ื›ื™ื™ืคืขืฅ;
    ืฆื™ื‘ื•ืจ ืคึฟื•ื ืงืฆื™ืข __ืกืขืจื™ืึทืœื™ื–ืข (): ืžืขื ื’ืข;

    // ืจื™ืกื˜ืึธืจื– ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ืึท ื›ื™ื™ืคืขืฅ ืคึฟื•ืŸ ืึท ืžืขื ื’ืข
    ืฆื™ื‘ื•ืจ ืคึฟื•ื ืงืฆื™ืข __ื•ื ืกืขืจื™ืึทืœื™ื–ืข (ืžืขื ื’ืข $ ื“ืึทื˜ืŸ): ืคึผืึธืกืœ;

  • ื“ืขืจืœื•ื™ื‘ื˜ ืฆื• ื•ื•ืึทืจืคืŸ ืื•ื™ืกื ืขืžืขืŸ ืคื•ืŸ ืึท ืฉื™ื˜ื” __ื˜ืึธืกื˜ืจื™ื ื’();
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคึผืจืขืœืึธืึทื“ื™ื ื’ ื“ื™ ืงืึทืฉ ืคื•ืŸ ื“ื™ ื›ื™ื™ืคืขืฅ ืงืึธื“. ืฆื•ื’ืขื’ืขื‘ืŸ ืคึผืึทืจืึทืžืขื˜ืขืจ ืคึฟืึทืจ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ
    opcache.preload, ื“ื•ืจืš ื•ื•ืึธืก ืื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท PHP ืฉืจื™ืคื˜ ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืงืึทืžืคึผื™ื™ืœื“ ืื•ืŸ ืœื•ื™ืคืŸ ื•ื•ืขืŸ ื“ืขืจ ืกืขืจื•ื•ืขืจ ืกื˜ืึทืจืฅ. ื“ืขื ืฉืจื™ืคื˜ ืงืขื ืขืŸ ืœืึธื“ืŸ ื“ื™ ืึธืคึผืงืึธื“ืข ืคื•ืŸ โ€‹โ€‹ืื ื“ืขืจืข ื˜ืขืงืขืก ื“ื•ืจืš ื–ื™ื™ืขืจ ื“ื™ืจืขืงื˜ ื™ื ืงืœื•ื–ืฉืึทืŸ ืึธื“ืขืจ ื ื™ืฆืŸ ื“ื™ opcache_compile_file () ืคึฟื•ื ืงืฆื™ืข;

  • ืฆื•ื’ืขืœื™ื™ื’ื˜ crc32c ืคื•ื ืงืฆื™ืข ืฆื• ื“ื™ ื”ืึทืฉ ืคืึทืจืœืขื ื’ืขืจื•ื ื’ ืฆื• ืจืขื›ืขื ืขืŸ ื˜ืฉืขืงืกืึทืžื– ื ื™ืฆืŸ ื“ื™ Castagnoli ืคึผืึธืœื™ื ืึธืžื™ืึทืœ;
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืฆื• ื“ื™ password_hash () ืคึฟื•ื ืงืฆื™ืข ืคึฟืึทืจ ืคึผืึทืจืึธืœ ื›ืึทืฉื™ื ื’ ืžืขื˜ื”ืึธื“ืก argon2i ืื•ืŸ argin2id, ืื™ืŸ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืกืึธื“ื™ื•ื ื‘ื™ื‘ืœื™ืึธื˜ืขืง, ืื•ื™ื‘ PHP ืื™ื– ื’ืขื‘ื•ื™ื˜ ืึธืŸ ืœื™ื‘ืึทืจื’ืึธืŸ;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืคึฟื•ื ืงืฆื™ืข mb_str_split(), ืขื ืœืขืš ืฆื• str_split(), ืึธื‘ืขืจ ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ื ื™ืฉื˜ ืžื™ื˜ ื‘ื™ื˜ืขืก ืึธื‘ืขืจ ืžื™ื˜ ื›ืึทืจืึทืงื˜ืขืจ ืฉื˜ืขืœืขืก ืื™ืŸ ืึท ืžืึทืœื˜ื™-ื‘ื™ื˜ืข ืฉื˜ืจื™ืงืœ;
  • ื“ื™ ืกื˜ืจื™ืคึผ_ื˜ืึทื’ืก () ืคึฟื•ื ืงืฆื™ืข ืื™ืฆื˜ ื”ืื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืคืึธืจืŸ ืึท ืžืขื ื’ืข ืžื™ื˜ ืงื•ื•ื™ื˜ืœ ื ืขืžืขืŸ, ื™.ืข. ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืกื˜ืจื™ืคึผ_ื˜ืึทื’ืก ($ืกื˜ืจ, ' ') ืื™ืจ ืงืขื ืขืŸ ืื™ืฆื˜ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืกื˜ืจื™ืคึผ_ื˜ืึทื’ืก ($ืกื˜ืจ, ['ืึท', 'ืคึผ']);
  • proc_open () ืึทืœืึทื•ื– ื“ื™ ืึธืคึผืขืจืึทื ื“ื– ืฆื• ื–ื™ื™ืŸ ืœื™ืกื˜ืขื“ ืื™ืŸ ืึท ืžืขื ื’ืข, ืืœื ื•ื•ื™ ืึท ืฉื˜ืจื™ืงืœ ืฆื• ืœื•ื™ืคืŸ, ืื•ืŸ ืื•ื™ืš ื’ื™ื˜ ืคืึธื“ืขื ืจื™ื“ืขืจืขืงืฉืึทืŸ ืื•ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึท ื ืึทืœ ื˜ืขืงืข ื“ื™ืกืงืจื™ืคึผื˜ืึธืจ;

    proc_open (['php', '-r', 'ืขืงืึธื• "ื”ืขืœื ื•ื•ืขืœื˜ \ n";'], $ ื“ื™ืกืงืจื™ืคึผื˜ืึธืจืก, $ ืคึผื™ื™ืคึผืก);

    // ื•ื•ื™ 2>&1 ืื™ืŸ ืฉืึธืœ
    proc_open ($ืงืžื“, [1 => ['ืจืขืจ', 'ื•ื•'], 2 => ['ืจื™ื“ื™ืจืขืงื˜', 1]], $ ืคึผื™ื™ืคึผืก);

    // ื•ื•ื™ 2>/dev/null ืึธื“ืขืจ 2>ื ื•ืœ ืื™ืŸ ืฉืึธืœ
    proc_open($cmd, [1 => ['ืจืขืจ', 'ื•ื•'], 2 => ['ื ื•ืœ']], $ ืคึผื™ื™ืคึผืก);

  • Firebird / Interbase, Recode ืื•ืŸ WDDX ื™ืงืกื˜ืขื ืฉืึทื ื– ื–ืขื ืขืŸ ื™ืงืกืงืœื•ื“ื™ื“ ืคื•ืŸ ื“ื™ ื™ืงืขืจื“ื™ืง ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’. ื“ื™ ื™ืงืกื˜ืขื ืฉืึทื ื– ื–ืขื ืขืŸ ืื™ืฆื˜ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ื“ื•ืจืš PECL;
  • ื˜ืจืึทื ืกืคืขืจื“ ืฆื• ืงืึทื˜ืขื’ืึธืจื™ืข ืึทื•ื˜ื“ื™ื™ื˜ื™ื“ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืึทื–ืึท ื•ื•ื™ ื ืขืกื˜ืขื“ ื˜ืขืจื ืขืจื™ ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืึธืŸ ืงืœืึทืžืขืจืŸ, ืึทืงืกืขืกื™ื ื’ ืžืขื ื’ืข ืขืœืขืžืขื ื˜ืŸ ืื•ืŸ ืกื˜ืจื™ื ื’ืก ื ื™ืฆืŸ ื’ืขื’ืจื™ื™ึทื–ืœื˜ ื‘ืจื™ื™ืกืึทื– ("$var {$idx}"), ื“ื™ is_real () ืคึฟื•ื ืงืฆื™ืข ืื•ืŸ ืงืึทืกื˜ื™ื ื’ ืฆื• ืคืึทืงื˜ื™ืฉ, ื ื™ืฆืŸ ื“ื™ ืคืึธื˜ืขืจ ืงื™ื•ื•ืขืจื“ ืึธืŸ ืึท ืคืึธื˜ืขืจ ืงืœืึทืก, ืคึผืึทืจืึทืžืขื˜ืขืจ allow_url_include ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– , ื ื™ืฆืŸ array_key_exists () ืื•ื™ืฃ ืึทื‘ื“ื–ืฉืขืงืฅ.

    ื“ื™ ืคืึทื ื’ืงืฉืึทื ื– get_magic_quotes_gpc(), get_magic_quotes_runtime(), ืื•ืŸ
    hebrevc(), convert_cyr_string(), money_format(), ezmlm_hash(), restore_include_path(), ldap_control_paged_result_response(), ldap_control_paged_result(), ReflectionType::__toString().

    ื ื•ื•ืืจืขื ื•ื ื’ ื•ื•ืขื’ืŸ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืึท ืคืึทืจืขืœื˜ืขืจื˜ ืฉื˜ืจื™ืš ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ื•ื•ืขืŸ ืคึผืจื•ื•ื•ืŸ ืฆื• ืคึผืจืึธืฆืขืก ืคืึทืœืฉ ืกื™ืžื‘ืึธืœืก ืื™ืŸ ืคืึทื ื’ืงืฉืึทื ื–
    base_convert(), bindec(), octdec() ืื•ืŸ hexdec(), ืื•ืŸ ื•ื•ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ื ื™ื˜-ืฉื˜ืจื™ืงืœ ืžื•ืกื˜ืขืจ ืื™ืŸ mb_ereg_replace().

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’