Beta kuyedzwa kwePHP 8 kwatanga

Introduced yekutanga beta kuburitswa kwebazi idzva remutauro wepurogiramu yePHP 8. Kuburitswa kwakarongwa munaNovember 26. Panguva imwecheteyo, kugadzirisa kuburitswa kwePHP 7.4.9, 7.3.21 uye
7.2.33, iyo yakabvisa zvikanganiso zvakaunganidzwa uye kusasimba.

chikuru zvitsva PHP 8:

  • Kusanganisira JIT compiler, kushandiswa kwayo kuchavandudza kubudirira.
  • tsigira zita rekuita nharo, zvichikubvumidza kuti upfuure kukosha kune basa zvine chekuita nemazita, i.e. Unogona kupasa nharo mune chero kurongeka uye kutsanangura sarudzo dzenharo. Semuenzaniso, "array_fill(start_index: 0, num: 100, value: 50)".
  • Pakufona nzira bvumidzwa uchishandisa "?" opareta, izvo zvinokutendera kuti utange kufona chete kana nzira iripo, iyo inodzivirira kusingakodzeri cheki yekudzorera kukosha kwe "null". Semuenzaniso, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • tsigira mubatanidzwa mhando, ichitsanangura kuunganidzwa kwemhando mbiri kana kupfuura (semuenzaniso, β€œpublic function foo(Foo|Bar $input): int|float;”).
  • tsigira hunhu (zvirevo) zvinokutendera kuti usunge metadata (senge ruzivo rwemhando) kumakirasi pasina kushandisa Docblock syntax.
  • Kutsigira kwekutaura mutambo, iyo, kusiyana nekuchinja, inogona kudzorera kukosha, kutsigira kubatanidza mamiriro, kushandisa kuenzanisa kwemhando yakasimba, uye haidi "kuputsa" tsanangudzo.

    $ mhedzisiro = mechi ($ input) {
    0 => "Mhoro",
    '1', '2', '3' => β€œnyika”,
    };

  • Sintakisi yakapfupikiswa tsananguro dzekirasi, zvichikubvumidza kuti ubatanidze tsananguro yeanovaka uye zvivakwa.
  • Rudzi rutsva rwekudzoka - kunofambira mberi.
  • Rudzi rutsva - zvakasiyana, iyo inogona kushandiswa kuona kana basa rinogamuchira paramita dzemhando dzakasiyana.
  • Tsanangudzo Throw kubata kunze.
  • WeakMap kugadzira zvinhu zvinogona kubayirwa panguva yekuunganidza marara (somuenzaniso, kuchengetedza zvisingakoshi cache).
  • Mukana uchishandisa izwi rekuti "::kirasi" kune zvinhu (zvakafanana nekufona get_class()).
  • Mukana tsananguro mubhuroko rekubata rezvisizvo izvo zvisina kusungirirwa kune zvinoshanduka.
  • Mukana kusiya koma mushure mechinhu chekupedzisira mune rondedzero yemabasa paramita.
  • New interface Stringable kuona chero mhando dzetambo kana data inogona kushandurwa kuita tambo (iyo iyo __toString () nzira inowanikwa).
  • New feature str_contains(), analogue yakareruka ye strpos yekuona kuitika kwetambo diki, pamwe nemabasa str_starts_with() uye str_ends_with() ekutarisa machisi panotangira uye panoperera tambo.
  • Akawedzera basa fdiv(), iyo inoita division operation pasina kukanda chikanganiso pakupatsanurwa ne zero.
  • Changed tambo yekubatanidza pfungwa. Semuenzaniso, izwi rekuti 'echo "sum:" . $a + $b' yakambodudzirwa ichinzi 'echo ("sum: " . $a) + $b', uye muPHP 8 ichatorwa se'echo "sum: " . ($a + $b)'.
  • Yakaomeswa kutarisa arithmetic uye bit operations, semuenzaniso, mazwi ekuti "[] % [42]" uye "$object + 4" achakonzera kukanganisa.
  • Implemented yakagadzikana yekuronga algorithm umo kurongeka kwehunhu hwakafanana hunochengetedzwa mukati mekumhanya kwakasiyana.
  • Source: opennet.ru

Voeg