Sgaoileadh cànain prògramaidh PHP 7.4

Às deidh bliadhna de leasachadh air a thaisbeanadh sgaoileadh cànan prògramadh PHP 7.4. Tha am meur ùr a’ toirt a-steach sreath de fheartan ùra, a bharrachd air grunn atharrachaidhean a bhriseas co-chòrdalachd.

Prìomh leasachaidhean ann am PHP 7.4:

  • Feartan clò-sgrìobhte - faodaidh feartan clas a-nis dearbhaidhean seòrsa a ghabhail a-steach, mar eisimpleir:

    cleachdaiche clas {
    poblach int $id;
    sreang phoblach $name;
    }

  • Giorraichte co-chòrdadh airson gnìomhan a mhìneachadh “fn(parameter_list) => expr” le farsaingeachd ceangailte le luach. Mar eisimpleir, tha “fn($x) => $x + $y” co-chosmhail ri “$fn2 = gnìomh ($x) cleachdadh ($y) {till $x + $y;}”);
  • Gnìomhaiche sònrachaidh làmh-ghoirid "??=" a dh'fhaodar a chleachdadh gus luach bunaiteach a mhìneachadh (tha "a ??= b" coltach ri "a = a ?? b", ma tha "a" air a mhìneachadh tha a luach air a stòradh, agus mura h-eil e air a mhìneachadh air a shònrachadh leis an luach "b");
  • Earranta cothrom a’ gleidheadh ​​rangachd oighreachd nan seòrsaichean ann an seòrsachan toraidh toraidh, no an comas rangachd nan seòrsaichean tùsail a thionndadh air ais ann an seòrsachan argamaid stèidhichte (covariance seòrsa tilleadh agus còmhstri seòrsa argamaid). Faodar na togalaichean a leanas a chleachdadh a-nis ann am PHP:

    clas A {}
    clas B a’ leudachadh A {}

    riochdaire clas {
    modh gnìomh poblach (): A {}
    }
    clas ChildProducer a’ leudachadh Riochdaire {
    modh gnìomh poblach (): B {}
    }

  • A’ dì-phapadh gnìomhaiche taobh a-staigh arrays “…$var”, a ’ceadachadh cuir an àite arrays a th’ ann mar-thà nuair a thathar a’ mìneachadh sreath ùr;

    $parts = ['ubhal', 'pear'];
    $fruits = [ 'banana', 'orains', ...$parts, 'watermelon'];
    // ['banana', 'orains', 'ubhal', 'pear', 'watermelon'];

  • Comas riochdachadh lèirsinneach de àireamhan mòra le crìochan ann an litrichean àireamhach (1_000_000_00);
  • taic ceanglaichean lag, a leigeas leat iomradh a chumail air rud, ach nach cuir stad air an neach-cruinneachaidh sgudail bho bhith a’ cuir às don nì co-cheangailte ris;
  • ùr механизм sreathachadh nì (measgachadh de Serializable agus __sleep()/__wakeup()), a ghabh àite an eadar-aghaidh Serializable, nach bi air a mholadh;

    // Tillidh e sreath anns a bheil a h-uile staid den nì;
    gnìomh poblach __serialize(): sreath;

    // Ag ath-nuadhachadh staid nì bho raon
    gnìomh poblach __unserialize (eagrachadh $ data): falamh;

  • Ceadaichte a bhith a 'tilgeil eisgeachdan bho dhòigh-obrach __ gu String();
  • Taic a bharrachd airson ro-luchdachadh tasgadan còd an nì. Paramadair air a chur ris airson suidheachadh
    opcache.preload, tron ​​urrainn dhut sgriobt PHP a shònrachadh a thèid a chur ri chèile agus a ruith nuair a thòisicheas am frithealaiche. Faodaidh an sgriobt seo an còd op de fhaidhlichean eile a luchdachadh tro bhith gan toirt a-steach gu dìreach no a’ cleachdadh an gnìomh opcache_compile_file ();

  • Chaidh gnìomh crc32c a chur ris an leudachadh Hash gus checksums obrachadh a-mach a’ cleachdadh am polynomial Castagnoli;
  • Taic a bharrachd ris a’ ghnìomh password_hash() airson modhan hashing facal-faire argon2i agus argin2id, ann a bhith a’ buileachadh leabharlann Sodium, ma thèid PHP a thogail às aonais libargon;
  • Gnìomh air a chur ris mb_str_split(), coltach ri str_split(), ach ag obrachadh chan ann le bytes ach le suidheachadh caractairean ann an sreang ioma-byte;
  • Tha comas aig a’ ghnìomh strip_tags () a-nis raon a chuir seachad le ainmean tagaichean, i.e. an àite strip_tags($str, ‘’) faodaidh tu a-nis strip_tags a shònrachadh ($str, [‘a’, ‘p’]);
  • proc_open() a’ ceadachadh oparands a bhith air an liostadh ann an sreath seach sreang airson a ruith, agus tha e cuideachd a’ toirt seachad ath-stiùireadh snàithlean agus taic airson tuairisgeul faidhle null;

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

    // Mar 2>&1 san t-slige
    proc_open($cmd, [1 => ['pìob', 'w'], 2 => ['ath-sheòladh', 1]], $ pìoban);

    // mar 2>/dev/null no 2> nul san t-slige
    proc_open($cmd, [1 => ['pìob', 'w'], 2 => ['null']], $pìob);

  • Tha leudachadh Firebird / Interbase, Recode agus WDDX air an dùnadh a-mach às an sgaoileadh bunaiteach. Tha na leudachain sin a-nis air an sgaoileadh tro PECL;
  • Air a ghluasad gu roinn-seòrsa seann-fhasanta feartan leithid oibrichean teàrnaidh neadachaidh gun bhratagan, faighinn gu eileamaidean agus sreangan a’ cleachdadh braces lùbach (“$ var{$idx}”), an gnìomh is_real() agus tilgeadh gu fìor, a’ cleachdadh am prìomh fhacal pàrant às aonais clas pàrant, paramadair allow_url_include configurations , a’ cleachdadh array_key_exists() air nithean.

    Na gnìomhan get_magic_quotes_gpc(), get_magic_quotes_runtime(), agus
    hebrevc(), convert_cyr_string(), money_format(), ezmlm_hash(), restore_include_path(), ldap_control_paged_result_response(), ldap_control_paged_result(), ReflectionType:: __toString().

    Chaidh rabhadh a thoirt seachad mu chleachdadh feart nach deach a chleachdadh nuair a thathar a’ feuchainn ri samhlaidhean ceàrr a làimhseachadh ann an gnìomhan
    base_convert (), bindec (), octdec () agus hexdec (), agus nuair a bhios tu a’ sònrachadh pàtran neo-sreang ann am mb_ereg_replace ().

Source: fosgailtenet.ru

Cuir beachd ann