Te tukunga o te PHP 7.4 reo hotaka

I muri i te tau o te whanaketanga i tukuna tuku reo whakahōtaka PHP 7.4. Kei roto i te peka hou he raupapa o nga ahuatanga hou, me te maha o nga huringa ka pakaru te hototahi.

whakapainga i roto i te PHP 7.4:

  • Āhuatanga Pato - ka taea e nga taonga karaehe te whakauru i nga momo whakapuakanga, hei tauira:

    Kaiwhakamahi akomanga {
    tūmatanui int $id;
    aho tūmatanui $ingoa;
    }

  • Whakapoto syntax mo te tautuhi i nga mahi "fn(parameter_list) => expr" me te awhi e herea ana e te uara. Hei tauira, "fn ($x) => $x + $y" he rite ki te "$fn2 = mahi ($x) whakamahi ($y) {hoki $x + $y;}");
  • Kaiwhakahaere taumahi poto "??=" ka taea te whakamahi ki te tautuhi i tetahi uara taunoa ("a ??= b" he rite ki "a = a ?? b", ki te tautuhia te "a" ka penapenahia tona uara, ki te kore e tautuhia kua tohua te uara "b" );
  • He iti faingamālie te pupuri i te nahanahatanga tuku iho o nga momo i roto i nga momo whakahoki i takea mai, i te kaha ranei ki te whakataka i te rarangi o nga momo taketake i roto i nga momo tohenga takea (tauritenga momo whakahoki me te momo tautohe rereke). Ka taea te whakamahi i nga hanganga e whai ake nei ki te PHP:

    akomanga A {}
    ka toro atu te akomanga B ki te A {}

    Kaihanga akomanga {
    tikanga mahi tūmatanui(): A {}
    }
    akomanga ChildProducer whakawhānui Kaihanga {
    tikanga mahi tūmatanui(): B {}
    }

  • Te wetewete i te kaiwhakahaere i roto i nga huānga "…$var", tuku mahi whakakapinga o nga huānga o naianei ina tautuhia he huānga hou;

    $parts = ['aporo', 'pear'];
    $hua = ['panana', 'karaka', ...$waahi, 'meremere'];
    // ['panana', 'karaka', 'aporo', 'pear', 'meremere'];

  • faingamālie te whakaatu i te ahua o nga tau nui me nga kaiwehe i roto i nga kupu tau (1_000_000_00);
  • support hononga ngoikore, ka taea e koe te pupuri tohutoro ki tetahi mea, engari kaua e aukati i te kaikohi paru ki te whakakore i te ahanoa e pa ana;
  • New механизм rangatū ahanoa (he huinga o Serializable me __sleep()/__wakeup()), i whakakapi i te atanga Serializable, ka whakakorea;

    // Ka whakahoki i te huānga kei roto katoa nga ahuatanga o te ahanoa;
    mahi tūmatanui __serialize(): huānga;

    // Ka whakaora i te ahua o te ahanoa mai i te huinga
    mahi tūmatanui __unserialize(array $data): void;

  • Whakaaetia ki te maka otahi mai i tetahi tikanga __toString();
  • He tautoko taapiri mo te uta i mua i te keteroki waehere ahanoa. Tawhā taapiri mo te tautuhi
    opcache.preload, ka taea e koe te tautuhi i te tuhinga PHP ka whakahiatohia ka whakahaeretia ina timata te tūmau. Ka taea e tenei tuhinga te uta i te opcode o etahi atu konae ma te whakauru tika, ma te whakamahi ranei i te mahi opcache_compile_file();

  • Kua taapirihia te mahi crc32c ki te toronga Hash hei tatau i nga arowhai ma te whakamahi i te polynomial Castagnoli;
  • He tautoko taapiri ki te mahi password_hash() mo nga tikanga hashing kupuhipa argon2i me argin2id, i te whakatinanatanga o te whare pukapuka Sodium, mena ka hangaia te PHP me te kore libargon;
  • Kua taapirihia te mahi mb_str_split(), he rite ki te str_split(), engari kaua e mahi me nga paita engari me nga tuunga tohu kei roto i te aho paita-maha;
  • Ko te mahinga strip_tags() he kaha ki te tuku i te huānga me nga ingoa tohu, i.e. hei utu mo te strip_tags($str, ' ') ka taea e koe te tautuhi strip_tags($str, ['a', 'p']);
  • proc_open() ka taea e nga operand te whakarārangihia ki roto i te huinga, kaua ki te aho ki te rere, me te whakarato hoki i te hurihanga miro me te tautoko mo te whakaahua konae kore;

    proc_open(['php', '-r', 'echo "Kia ora te Ao\n";'], $descriptors, $pipes);

    // Pērā i te 2>&1 i te anga
    proc_open($cmd, [1 => ['pipe', 'w'], 2 => ['redirect', 1]], $pipes);

    // rite 2>/dev/null ranei 2>nul i roto i te anga
    proc_open($cmd, [1 => ['pipe', 'w'], 2 => ['null']], $pipes);

  • Ko nga toronga Firebird/Interbase, Recode me WDDX kua whakakorehia mai i te tohatoha taketake. Ko enei toronga kua tohatohahia inaianei ma te PECL;
  • Kua whakawhitia ki te kāwai tawhito Ko nga ahuatanga penei i nga kaiwhakahaere ohanga kohanga kaore he reu, te uru ki nga huānga huinga me nga aho ma te whakamahi i nga taiapa mingimingi (“$var{$idx}”), te mahi is_real() me te maka ki te tino, ma te whakamahi i te kupu matua kaore he akomanga matua, tawhā allow_url_include whirihoranga , te whakamahi i te array_key_exists() i runga i nga mea.

    Ko nga mahi get_magic_quotes_gpc(), get_magic_quotes_runtime(), me
    hebrevc(), convert_cyr_string(), money_format(), ezmlm_hash(), restore_include_path(), ldap_control_page_result_response(), ldap_control_paged_result(), ReflectionType::__toString().

    Kua tukuna he whakatupato mo te whakamahi i tetahi ahuatanga tawhito i te wa e ngana ana ki te tukatuka i nga tohu hē i roto i nga mahi.
    base_convert(), bindec(), octdec() and hexdec(), and when specifying a non-string pattern in mb_ereg_replace().

Source: opennet.ru

Tāpiri i te kōrero