د پی ایچ پی 7.4 پروګرام کولو ژبه خپرول

د یو کال پرمختګ وروسته وړاندې شوی د پروګرام کولو ژبې خپرول پی پی ایکس ایکسیمکس. په نوې څانګه کې یو لړ نوي ځانګړتیاوې شاملې دي، په بیله بیا یو شمیر بدلونونه چې مطابقت ماتوي.

کلید پرمختګونه په PHP 7.4 کې:

  • ټایپ شوي ملکیتونه - د ټولګي ملکیتونه اوس د ډول اعالمیې شاملولی شي، د بیلګې په توګه:

    ټولګي کارن {
    عامه int $id;
    عامه تار $نوم؛
    }

  • لنډیز د "fn(parameter_list) => expr" د فنکشن تعریف کولو لپاره نحوي د ارزښت له مخې د سکوپ پابند سره. د مثال په توګه، "fn($x) => $x + $y" د "$fn2 = فنکشن ($x) استعمال ($y) {راګرځيدنه $x + $y؛}") سره ورته ده؛
  • د شارټ هینډ دندې چلونکی "؟؟=" کوم چې د ډیفالټ ارزښت تعریف کولو لپاره کارول کیدی شي ("a ??= b" د "a = a ?? b" سره ورته وي ، که "a" تعریف شي نو ارزښت یې زیرمه کیږي ، او که نه تعریف شوی وي د "b" ارزښت ټاکل شوی؛
  • محدود فرصت د اخذ شوي بیرته راستنیدو ډولونو کې د ډولونو میراثي درجه بندي ساتل ، یا د ترلاسه شوي دلیل ډولونو کې د اصلي ډولونو درجه بندي بیرته راګرځولو وړتیا (covariance د بیرته ستنیدو ډول او د دلیل ډول تضاد). لاندې جوړښتونه اوس په PHP کې کارول کیدی شي:

    ټولګي A {}
    B ټولګي A {} پراخوي

    د ټولګي تولیدونکی {
    د عامه فعالیت طریقه(): A {}
    }
    د ټولګي ماشوم تولیدونکی تولیدونکی پراخوي {
    د عامه فعالیت طریقه(): B {}
    }

  • په صفونو کې د آپریټر خلاصول "…$var"، اجازه ورکول د موجوده صفونو بدیل ترسره کړئ کله چې یو نوی صف تعریف کړئ؛

    $parts = ['مڼه'، 'ناشپاته']؛
    $fruits = ['کیله'، 'نارنج'، ...$ برخې، 'اوبو']؛
    // ['کیله'، 'نارنج'، 'مڼه'، 'ناشپاته'، 'اوبه'];

  • فرصت د لوی شمیر بصری نمایندګی په عددی لیکونو کې د محدودیتونو سره (1_000_000_00)؛
  • ملاتړ کمزورې اړیکې, کوم چې تاسو ته اجازه درکوي د یو څیز لپاره حواله وساتئ، مګر د کثافاتو راټولونکی د اړونده څیز له مینځه وړلو څخه مه منع کوئ؛
  • نوی میکانیزم د اعتراض سیریلائزیشن (د سیریلیز وړ او __sleep()/__wakeup() ترکیب، کوم چې د سیریلیز وړ انٹرفیس ځای په ځای کړی، کوم چې به بې برخې شي؛

    // یو سري راګرځوي چې د اعتراض ټول حالتونه لري؛
    عامه فعالیت __serialize(): array;

    // د صف څخه د یو څیز حالت بحالوي
    عامه فعالیت __unserialize(array $data): باطل؛

  • د یوې میتود څخه د استثناء کولو اجازه ورکړل شوې __toString();
  • د اعتراض کوډ کیچ دمخه پورته کولو لپاره ملاتړ اضافه شوی. د ترتیب لپاره پیرامیټ اضافه شوی
    opcache.preload، د کوم له لارې تاسو کولی شئ د PHP سکریپټ مشخص کړئ کوم چې به تالیف شي او چلیږي کله چې سرور پیل شي. دا سکریپټ کولی شي د نورو فایلونو اپکوډ د مستقیم شاملولو یا د opcache_compile_file() فنکشن په کارولو سره پورته کړي؛

  • د هش توسیع ته د crc32c فنکشن اضافه شوی ترڅو د Castagnoli polynomial په کارولو سره چیکسم محاسبه کړي؛
  • د پاسورډ هش کولو میتودونو argon2i او argin2id لپاره password_hash() فنکشن کې ملاتړ اضافه شوی ، د سوډیم کتابتون پلي کولو کې ، که PHP پرته له لیبرګون جوړ شوی وي؛
  • اضافه شوی فنکشن mb_str_split() چې ورته ورته str_split()، مګر د بایټ سره نه بلکې په څو بایټ تار کې د کریکټ پوستونو سره کار کوي؛
  • د strip_tags() فنکشن اوس د دې وړتیا لري چې د ټاګ نومونو سره یو سري تیر کړي، د بیلګې په توګه. د strip_tags ($str, '') پرځای تاسو اوس کولی شئ strip_tags مشخص کړئ ($str, ['a', 'p']);
  • proc_open() عملیاتونو ته اجازه ورکوي چې د چلولو لپاره د تار پرځای په یوه صف کې لیست شي، او همدارنګه د نال فایل ډیسکریټر لپاره د تار ریډائریکشن او ملاتړ چمتو کوي؛

    proc_open(['php', '-r', 'echo "Hello World\n";'], $descriptors, $pipes);

    // لکه 2>&1 په شیل کې
    proc_open($cmd, [1 => ['پایپ', 'w'], 2 => ['redirect', 1]], $pipes);

    // لکه 2>/dev/null یا 2>nul په شیل کې
    proc_open($cmd, [1 => ['پایپ', 'w'], 2 => ['null']], $pipes);

  • Firebird/Interbase، Recode او WDDX توسیعونه د اساسي توزیع څخه ایستل شوي دي. دا توسیعونه اوس د PECL له لارې ویشل شوي؛
  • کټګورۍ ته لیږدول شوی زوړ ځانګړتياوې لکه د قوسونو پرته nested ternary آپریټرونه، د سرې عناصرو او تارونو ته لاس رسی د curly braces ("$var{$idx}") په کارولو سره، is_real() فنکشن او اصلي ته کاسټ کول، د اصلي کلیمې کارول د والدین ټولګي پرته، د پیرامیټر اجازه_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(), د انعکاس ډول::__toString().

    کله چې په دندو کې د غلط سمبولونو پروسس کولو هڅه کول د یو ناپاک فیچر کارولو په اړه خبرداری ورکړل شوی
    base_convert()، bindec()، octdec() او hexdec()، او کله چې په mb_ereg_replace().

سرچینه: opennet.ru

Add a comment