PHP 8.2 இன் ஆல்பா சோதனை தொடங்கியது

PHP 8.2 நிரலாக்க மொழியின் புதிய கிளையின் முதல் ஆல்பா வெளியீடு வழங்கப்பட்டுள்ளது. நவம்பர் 24ம் தேதி ரிலீஸ் ஆகும். PHP 8.2 இல் சோதனைக்காக ஏற்கனவே உள்ள முக்கிய கண்டுபிடிப்புகள் அல்லது செயல்படுத்த திட்டமிடப்பட்டுள்ளது:

  • "தவறான" மற்றும் "பூஜ்ய" தனித்தனி வகைகள் சேர்க்கப்பட்டுள்ளன, எடுத்துக்காட்டாக, ஒரு செயல்பாட்டின் மூலம் ஒரு பிழை அல்லது வெற்று மதிப்புடன் முடிந்ததற்கான அடையாளத்தை வழங்க இதைப் பயன்படுத்தலாம். முன்பு, "false" மற்றும் "null" ஆகியவை மற்ற வகைகளுடன் இணைந்து மட்டுமே பயன்படுத்தப்படும் (உதாரணமாக, "string|false"), ஆனால் இப்போது அவை தனித்தனியாக பயன்படுத்தப்படலாம்: செயல்பாடு எப்போதும்False(): false { return false; }
  • ஒரு வகுப்பை படிக்க மட்டும் எனக் குறிக்கும் திறன் சேர்க்கப்பட்டது. அத்தகைய வகுப்புகளில் உள்ள பண்புகளை ஒரு முறை மட்டுமே அமைக்க முடியும், அதன் பிறகு அவை மாற்றத்திற்கு கிடைக்காது. முன்பு, தனிப்பட்ட வகுப்பு பண்புகளை படிக்க மட்டுமே எனக் குறிக்க முடியும், ஆனால் இப்போது நீங்கள் இந்த பயன்முறையை அனைத்து வகுப்பு பண்புகளுக்கும் ஒரே நேரத்தில் இயக்கலாம். வகுப்பு மட்டத்தில் "படிக்க மட்டும்" கொடியைக் குறிப்பிடுவது, வகுப்பிற்கு மாறும் பண்புகளைச் சேர்ப்பதையும் தடுக்கிறது. படிக்க மட்டும் வகுப்பு இடுகை {பொது செயல்பாடு __கட்டமைப்பு (பொது சரம் $title, பொது ஆசிரியர் $author, ) {}} $post = புதிய இடுகை(/* … */); $post->தெரியாது = 'தவறு'; // பிழை: டைனமிக் பண்பை உருவாக்க முடியாது இடுகை ::$தெரியாது
  • ஒரு வகுப்பில் பண்புகளை மாறும் வகையில் உருவாக்கும் திறன் நிராகரிக்கப்பட்டது (மேலே உள்ள எடுத்துக்காட்டில் "பின்->தெரியாது" போன்றவை). PHP 9.0 இல், வகுப்பில் முதலில் வரையறுக்கப்படாத பண்புகளை அணுகுவது பிழையை ஏற்படுத்தும் (ErrorException). பண்புகளை உருவாக்குவதற்கான __get மற்றும் __set முறைகளை வழங்கும் வகுப்புகள் அல்லது stdClass இல் உள்ள டைனமிக் பண்புகள் மாறாமல் தொடர்ந்து செயல்படும், மறைந்திருக்கும் பிழைகளிலிருந்து டெவலப்பரைப் பாதுகாக்க, இல்லாத பண்புகளுடன் மறைமுகமான வேலை மட்டுமே நிறுத்தப்படும். பழைய குறியீடு செயல்பட, "#[AllowDynamicProperties]" பண்புக்கூறு முன்மொழியப்பட்டது, இது மாறும் பண்புகளைப் பயன்படுத்த அனுமதிக்கிறது.
  • பிழையின் போது ஸ்டாக் ட்ரேஸ் வெளியீட்டில் உணர்திறன் அமைப்புகளை வடிகட்டுவதற்கான திறனை வழங்குகிறது. ஏற்படும் பிழைகள் பற்றிய தகவல் தானாகவே மூன்றாம் தரப்புச் சேவைகளுக்கு அனுப்பப்படும்போது, ​​சிக்கல்களைக் கண்காணித்து அவற்றைப் பற்றி டெவலப்பர்களுக்குத் தெரிவிக்கும் போது சில தகவல்களைத் துண்டிக்க வேண்டியிருக்கும். எடுத்துக்காட்டாக, பயனர்பெயர்கள், கடவுச்சொற்கள் மற்றும் சூழல் மாறிகள் ஆகியவற்றை உள்ளடக்கிய ட்ரேஸில் இருந்து அளவுருக்களை நீங்கள் விலக்கலாம். செயல்பாட்டு சோதனை ($foo, #[\SensitiveParameter] $கடவுச்சொல், $baz ) {புதிய விதிவிலக்கு('பிழை'); } சோதனை('foo', 'password', 'baz'); அபாயகரமான பிழை: பிடிக்கப்படாத விதிவிலக்கு: சோதனையில் பிழை ஆன்லைன் 8
  • "${var}" மற்றும் ${(var)}" வெளிப்பாடுகளைப் பயன்படுத்தி மாறி மதிப்புகளை சரங்களாக மாற்றும் திறன் தடுக்கப்பட்டது. பொதுவாகப் பயன்படுத்தப்படும் "{$var}" மற்றும் "$var" மாற்றுகளுக்கான ஆதரவு தக்கவைக்கப்பட்டுள்ளது. உதாரணமாக: "வணக்கம் {$world}"; சரி "Hello $world"; சரி "ஹலோ ${world}"; நிராகரிக்கப்பட்டது: சரங்களில் ${}ஐப் பயன்படுத்துவது நிறுத்தப்பட்டது
  • "call_user_func($callable)" வழியாக அழைக்கக்கூடிய பகுதியளவு ஆதரிக்கப்படும் அழைப்புகள் நிராகரிக்கப்பட்டன, ஆனால் "$callable()": "self::method" "parent::method" "static :: முறை" ["சுய", "முறை"] ["பெற்றோர்", "முறை"] ["நிலையான", "முறை"] ["ஃபூ", "பார்:: முறை"] [புதிய ஃபூ, "பார்: :முறை "]
  • உள்ளூர்-சுயாதீனமான வழக்கு மாற்றம் செயல்படுத்தப்பட்டது. strtolower() மற்றும் strtoupper() போன்ற செயல்பாடுகள் இப்போது ASCII வரம்பில் உள்ள எழுத்துகளின் வழக்கை மாற்றும், லோகேலை "C"க்கு அமைக்கும்போது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்