Ukuhlolwa kwe-Beta kwe-PHP 8 sekuqalile

Kuthunyelwe ngu- ukukhishwa kokuqala kwe-beta kwegatsha elisha lolimi lokuhlela lwe-PHP 8. Ukukhishwa kuhlelelwe umhlaka-26 Novemba. Ngesikhathi esifanayo, ukukhishwa kokulungisa kwe-PHP 7.4.9, 7.3.21 kanye
7.2.33, okususe amaphutha anqwabelene kanye nokuba sengozini.

main emisha I-PHP 8:

  • Iyavula I-JIT compiler, ukusetshenziswa okuzokwenza ngcono ukukhiqiza.
  • ukweseka ama-agumenti omsebenzi aqanjwe, okukuvumela ukuthi udlulise amanani kumsebenzi maqondana namagama, i.e. Ungadlulisa ama-agumenti nganoma yiluphi uhlelo futhi uchaze ama-agumenti ozikhethela wona. Isibonelo, "array_fill(start_index: 0, number: 100, value: 50)".
  • Lapho ubiza izindlela kuvunyelwe usebenzisa u-opharetha othi “?”, okuvumela ukuthi uqalise ucingo kuphela uma indlela ikhona, okugwema ukuhlola okungadingekile ukuze kubuyiselwe inani elithi “null”. Isibonelo, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • ukweseka izinhlobo zezinyunyana, echaza amaqoqo ezinhlobo ezimbili noma ngaphezulu (isibonelo, “umsebenzi womphakathi foo(Foo|Bar$input): int|float;”).
  • ukweseka izimfanelo (izichasiselo) ezikuvumela ukuthi ubophe imethadatha (efana nolwazi lohlobo) emakilasini ngaphandle kokusebenzisa i-syntax ye-Docblock.
  • Ukwesekwa kwenkulumo Fanisa, okuyinto, ngokungafani ne-switch, engabuyisela amanani, isekele ukuhlanganisa izimo, isebenzise ukuqhathanisa okuqinile kohlobo, futhi ayidingi ukucaciswa "kwekhefu".

    Umphumela we-$ = match($input) {
    0 => "Sawubona",
    '1', '2', '3' => “umhlaba”,
    };

  • I-syntax efushanisiwe Izincazelo zekilasi, ezikuvumela ukuthi uhlanganise incazelo yomakhi nezakhiwo.
  • Uhlobo olusha lokubuyisela - Static.
  • Uhlobo olusha - Kuxutshwe, engasetshenziswa ukunquma ukuthi umsebenzi uyawamukela yini amapharamitha ezinhlobo ezahlukene.
  • Isimo phosa ukuphatha okuhlukile.
  • I-WeakMap ukudala izinto ezinganikelwa ngesikhathi sokuqoqwa kukadoti (isibonelo, ukugcina ama-caches angadingekile).
  • Ithuba usebenzisa isisho esithi “::class” ezintweni (okufana nokubiza get_class()).
  • Ithuba izincazelo kubhlokhi yokubamba kokuhlukile okungaboshelwe kokuguquguqukayo.
  • Ithuba kushiya ukhefana ngemva kwento yokugcina ohlwini lwamapharamitha omsebenzi.
  • Isixhumi esibonakalayo esisha Iqinile ukukhomba noma yiziphi izinhlobo zeyunithi yezinhlamvu noma idatha engaguqulelwa kuyunithi yezinhlamvu (lapho __toString() indlela etholakalayo).
  • Isici esisha str_contains(), i-analogue eyenziwe lula ye-strpos yokunquma ukwenzeka kochungechunge oluncane, kanye nemisebenzi ethi str_starts_with() kanye ne-str_ends_with() yokuhlola okufanayo ekuqaleni nasekupheleni kweyunithi yezinhlamvu.
  • Isici esingeziwe fdiv(), eyenza umsebenzi wokuhlukanisa ngaphandle kokuphonsa iphutha lapho ihlukanisa ngoziro.
  • Kushintshiwe intambo yokuhlanganisa ingqondo. Isibonelo, isisho esithi 'echo "sum:" . I-$a + $b' ngaphambilini yayihunyushwa ngokuthi 'echo ("sum: " . $a) + $b', futhi ku-PHP 8 izothathwa ngokuthi 'echo "sum: " . ($a + $b)'.
  • Iqinisiwe ukuhlola izibalo nokusebenza kwebhithi, isibonelo, izinkulumo "[] % [42]" kanye "$object + 4" kuzoholela ephutheni.
  • Kwenziwa i-algorithm yokuhlunga ezinzile lapho ukuhleleka kwamanani afanayo kugcinwa kuwo wonke ama-run ahlukene.
  • Source: opennet.ru

Engeza amazwana