PHP 8 యొక్క బీటా పరీక్ష ప్రారంభమైంది

సమర్పించిన వారు PHP 8 ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క కొత్త బ్రాంచ్ యొక్క మొదటి బీటా విడుదల నవంబర్ 26న విడుదల కానుంది. అదే సమయంలో, PHP 7.4.9, 7.3.21 మరియు దిద్దుబాటు విడుదలలు
7.2.33, ఇది పేరుకుపోయిన లోపాలు మరియు దుర్బలత్వాలను తొలగించింది.

ప్రధాన ఆవిష్కరణలు PHP 8:

  • పవర్ అప్ JIT కంపైలర్, దీని ఉపయోగం ఉత్పాదకతను మెరుగుపరుస్తుంది.
  • Поддержка పేరు పెట్టబడిన ఫంక్షన్ ఆర్గ్యుమెంట్‌లు, పేర్లకు సంబంధించి ఫంక్షన్‌కు విలువలను పాస్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, అనగా. మీరు ఆర్గ్యుమెంట్‌లను ఏ క్రమంలోనైనా పాస్ చేయవచ్చు మరియు ఐచ్ఛిక ఆర్గ్యుమెంట్‌లను నిర్వచించవచ్చు. ఉదాహరణకు, "array_fill(start_index: 0, num: 100, value: 50)".
  • పద్ధతులు కాల్ చేసినప్పుడు అనుమతి “?” ఆపరేటర్‌ని ఉపయోగించడం, ఇది పద్ధతి ఉన్నట్లయితే మాత్రమే కాల్‌ని ప్రారంభించడానికి మిమ్మల్ని అనుమతిస్తుంది, ఇది “శూన్య” విలువను తిరిగి ఇవ్వడానికి అనవసరమైన తనిఖీలను నివారిస్తుంది. ఉదాహరణకు, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • Поддержка యూనియన్ రకాలు, రెండు లేదా అంతకంటే ఎక్కువ రకాల సేకరణలను నిర్వచించడం (ఉదాహరణకు, “పబ్లిక్ ఫంక్షన్ foo(Foo|Bar $input): int|float;”).
  • Поддержка గుణాలు (ఉల్లేఖనాలు) డాక్‌బ్లాక్ సింటాక్స్‌ని ఉపయోగించకుండా తరగతులకు మెటాడేటాను (టైప్ ఇన్ఫర్మేషన్ వంటివి) బైండ్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
  • వ్యక్తీకరణ మద్దతు మ్యాచ్, ఇది స్విచ్ వలె కాకుండా, విలువలను అందించగలదు, పరిస్థితులను కలపడానికి మద్దతు ఇస్తుంది, కఠినమైన రకం పోలికలను ఉపయోగిస్తుంది మరియు "బ్రేక్" స్పెసిఫికేషన్ అవసరం లేదు.

    $ఫలితం = మ్యాచ్($ఇన్‌పుట్) {
    0 => "హలో",
    '1', '2', '3' => “ప్రపంచం”,
    };

  • సంక్షిప్త వాక్యనిర్మాణం తరగతి నిర్వచనాలు, కన్స్ట్రక్టర్ మరియు లక్షణాల నిర్వచనాన్ని మిళితం చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
  • కొత్త రిటర్న్ రకం - స్టాటిక్.
  • కొత్త రకం - మిశ్రమ, ఒక ఫంక్షన్ వివిధ రకాల పారామితులను అంగీకరిస్తుందో లేదో తెలుసుకోవడానికి ఇది ఉపయోగించబడుతుంది.
  • వ్యక్తీకరణ త్రో మినహాయింపులను నిర్వహించడానికి.
  • బలహీన మ్యాప్ చెత్త సేకరణ సమయంలో త్యాగం చేయగల వస్తువులను రూపొందించడానికి (ఉదాహరణకు, అనవసరమైన కాష్లను నిల్వ చేయడానికి).
  • అవకాశం ఆబ్జెక్ట్‌ల కోసం “::class” అనే వ్యక్తీకరణను ఉపయోగించడం (get_class() అని పిలవడానికి సమానంగా ఉంటుంది).
  • అవకాశం వేరియబుల్స్‌కు కట్టుబడి లేని మినహాయింపుల క్యాచ్ బ్లాక్‌లో నిర్వచనాలు.
  • అవకాశం ఫంక్షన్ పారామితుల జాబితాలో చివరి మూలకం తర్వాత కామాను వదిలివేయడం.
  • కొత్త ఇంటర్ఫేస్ స్ట్రింగ్ చేయదగినది స్ట్రింగ్‌గా మార్చబడే ఏదైనా స్ట్రింగ్ రకాలు లేదా డేటాను గుర్తించడానికి (దీని కోసం __toString() పద్ధతి అందుబాటులో ఉంది).
  • కొత్త కథనం str_contains(), సబ్‌స్ట్రింగ్ సంభవించడాన్ని నిర్ణయించడానికి strpos యొక్క సరళీకృత అనలాగ్, అలాగే స్ట్రింగ్ ప్రారంభంలో మరియు చివరిలో సరిపోలికలను తనిఖీ చేయడానికి str_starts_with() మరియు str_ends_with() ఫంక్షన్‌లు.
  • ఫీచర్ జోడించబడింది fdiv(), ఇది సున్నాతో భాగించినప్పుడు లోపాన్ని విసిరివేయకుండా విభజన చర్యను నిర్వహిస్తుంది.
  • మార్చబడింది స్ట్రింగ్ జాయినింగ్ లాజిక్. ఉదాహరణకు, వ్యక్తీకరణ 'ఎకో "సమ్:" . $a + $b' మునుపు 'echo ("మొత్తం: ". $a) + $b'గా అన్వయించబడింది మరియు PHP 8లో 'echo "sum:" గా పరిగణించబడుతుంది. ($a + $b)'.
  • బిగుసుకుపోయింది అంకగణితం మరియు బిట్ ఆపరేషన్‌లను తనిఖీ చేయడం, ఉదాహరణకు, "[] % [42]" మరియు "$object + 4" వ్యక్తీకరణలు దోషానికి దారితీస్తాయి.
  • అమలు చేశారు స్థిరమైన క్రమబద్ధీకరణ అల్గోరిథం, దీనిలో ఒకే విలువల క్రమం వేర్వేరు పరుగులలో భద్రపరచబడుతుంది.
  • మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి