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;")।
  • समर्थन विशेषताहरू (एनोटेसनहरू) जसले तपाइँलाई Docblock सिन्ट्याक्स प्रयोग नगरिकन कक्षाहरूमा मेटाडेटा (जस्तै जानकारी प्रकार) बाँध्न अनुमति दिन्छ।
  • अभिव्यक्ति समर्थन म्याच, जसले, स्विचको विपरीत, मानहरू फर्काउन सक्छ, संयोजन अवस्थाहरूलाई समर्थन गर्दछ, कडा प्रकारको तुलनाहरू प्रयोग गर्दछ, र "ब्रेक" निर्दिष्टीकरण आवश्यक पर्दैन।

    $result = मिलान($इनपुट) {
    0 => "नमस्कार",
    '1', '2', '3' => "संसार",
    };

  • छोटो वाक्य रचना वर्ग परिभाषाहरू, तपाईंलाई कन्स्ट्रक्टर र गुणहरूको परिभाषा संयोजन गर्न अनुमति दिँदै।
  • नयाँ रिटर्न प्रकार - स्थिर.
  • नयाँ प्रकार - मिश्रित, जसलाई प्रकार्यले विभिन्न प्रकारका प्यारामिटरहरू स्वीकार गर्छ कि गर्दैन भनेर निर्धारण गर्न प्रयोग गर्न सकिन्छ।
  • Выражение फेंक अपवादहरू ह्यान्डल गर्न।
  • कमजोर नक्सा फोहोर संकलनको क्रममा बलिदान गर्न सकिने वस्तुहरू सिर्जना गर्न (उदाहरणका लागि, अनावश्यक क्यासहरू भण्डारण गर्न)।
  • अवसर वस्तुहरूका लागि "::वर्ग" अभिव्यक्ति प्रयोग गर्दै (गेट_क्लास() लाई कल गर्ने अनुरूप)।
  • अवसर चरहरूमा बाँधिएका अपवादहरूको क्याच ब्लकमा परिभाषाहरू।
  • अवसर प्रकार्य प्यारामिटरहरूको सूचीमा अन्तिम तत्व पछि अल्पविराम छोड्दै।
  • नयाँ इन्टरफेस स्ट्रिङयोग्य कुनै पनि स्ट्रिङ प्रकार वा डाटा पहिचान गर्न जुन स्ट्रिङमा रूपान्तरण गर्न सकिन्छ (जसको लागि __toString() विधि उपलब्ध छ)।
  • नयाँ सुविधा str_contains(), सबस्ट्रिङको उपस्थिति निर्धारण गर्नका लागि strpos को सरलीकृत एनालग, साथै स्ट्रिङको सुरु र अन्त्यमा मिलानहरू जाँच गर्नका लागि कार्यहरू str_starts_with() र str_ends_with()।
  • थपिएको प्रकार्य fdiv(), जसले शून्यले भाग गर्दा त्रुटि नछोडिकन विभाजन कार्य गर्दछ।
  • परिवर्तन भयो स्ट्रिङ जोड्ने तर्क। उदाहरण को लागी, अभिव्यक्ति 'echo "sum:"। $a + $b' लाई पहिले 'echo ("sum: " . $a) + $b' को रूपमा व्याख्या गरिएको थियो, र PHP 8 मा 'echo "sum: " को रूपमा व्यवहार गरिनेछ। ($a + $b)'।
  • कसियो अंकगणित र बिट अपरेसनहरू जाँच गर्दै, उदाहरणका लागि, अभिव्यक्ति "[] % [42]" र "$object + 4" त्रुटिको परिणाम हुनेछ।
  • कार्यान्वयन भएको छ एक स्थिर क्रमबद्ध एल्गोरिथ्म जसमा समान मानहरूको क्रम विभिन्न रनहरूमा सुरक्षित गरिन्छ।
  • स्रोत: opennet.ru

एक टिप्पणी थप्न