KNOLEDGEBASE · PHP

PHP ஆபத்தான பிழைஃ சுருள் பிரேஸ்களுடன் வரிசை மற்றும் சரம் ஆஃப்செட் அணுகல் தொடரியல் இனி ஆதரிக்கப்படவில்லை

கடைசியாக புதுப்பிக்கப்பட்ட 2025-06-07

PHP என்பது வலை மேம்பாட்டிற்கு பரவலாகப் பயன்படுத்தப்படும் ஒரு பிரபலமான சர்வர்-சைட் ஸ்கிரிப்டிங் மொழியாகும். இருப்பினும், PHP 8.1.17 க்கு மேம்படுத்தும்போது, டெவலப்பர்கள் ஒரு பிழைச் செய்தியை எதிர்கொள்ள நேரிடலாம், அதில் "சுருள் பிரேஸ்களுடன் கூடிய வரிசை மற்றும் சரம் ஆஃப்செட் அணுகல் தொடரியல் இனி ஆதரிக்கப்படவில்லை". இந்தக் கட்டுரையில், இந்த பிழையின் காரணங்களை ஆராய்ந்து, அதற்கான தீர்வுகளையும் திருத்தங்களையும் வழங்குவோம்.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

பிழையின் காரணங்கள்

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

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

பரிகாரங்கள்

இந்த பிழையைத் தவிர்க்க, டெவலப்பர்கள் வரிசை மற்றும் சரம் ஆஃப்செட்டுகளை அணுகுவதற்கு சுருண்ட பிரேஸ் தொடரமைப்பைப் பயன்படுத்துவதைத் தவிர்க்க வேண்டும். அதற்கு பதிலாக, அவர்கள் சதுர அடைப்புக்குறி தொடரமைப்பைப் பயன்படுத்த வேண்டும். இது PHP 8.1.17 இல் விரும்பப்படும் தொடரமைப்பு மட்டுமல்ல, இது மிகவும் படிக்கக்கூடியது மற்றும் புரிந்துகொள்ள எளிதானது.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

சுருள் வளையல் தொடரமைப்பைப் பயன்படுத்தும் குறியீட்டின் எடுத்துக்காட்டு இங்கேஃ

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
$array = ['foo', 'bar'];
echo $array{'0'};

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

இங்கே அதே குறியீடு உள்ளது, சதுர அடைப்புக்குறி தொடரியல் பயன்படுத்திஃ

$array = ['foo', 'bar']; 
echo $array[0];

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

திருத்தங்கள்

உங்களிடம் சுருள் பிரேஸ் தொடரமைப்பைப் பயன்படுத்தும் குறியீடு இருந்தால், சதுர அடைப்புக்குறி தொடரமைப்பைப் பயன்படுத்த நீங்கள் அதை மாற்றியமைக்க வேண்டும். இது உங்கள் குறியீட்டு தளத்தின் அளவைப் பொறுத்து நேரத்தை எடுக்கும் செயல்முறையாக இருக்கலாம்.


இந்த பிழையை சரிசெய்வதற்கான எளிதான வழி ஒரு தானியங்கி கருவியைப் பயன்படுத்துவதாகும். ரெக்டர் அல்லது PHP-CS-Fixerஇந்த கருவிகள் உங்கள் குறியீட்டை தானாகவே மாற்றியமைத்து சரியான தொடரமைப்பைப் பயன்படுத்தலாம், இதனால் உங்கள் நேரத்தையும் முயற்சியையும் மிச்சப்படுத்தலாம்.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

சுருக்கம்

"சுருள் பிரேஸ்களுடன் கூடிய வரிசை மற்றும் சரம் ஆஃப்செட் அணுகல் தொடரியல் இனி ஆதரிக்கப்படவில்லை" பிழை டெவலப்பர்கள் PHP 8.1.17 இல் சுருள் பிரேஸ்களைப் பயன்படுத்தி வரிசை மற்றும் சரம் ஆஃப்செட்களை அணுக முயற்சிக்கும்போது ஏற்படுகிறது. இந்த தொடரியல் PHP 7.4 இல் காலாவதியானது மற்றும் முற்றிலும் PHP 8.1.17 இல் அகற்றப்பட்டுள்ளது. இந்த பிழையைத் தவிர்க்க, டெவலப்பர்கள் அதற்கு பதிலாக சதுர அடைப்புக்குறி தொடரமைப்பைப் பயன்படுத்த வேண்டும்.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

உங்களிடம் சுருள் பிரேஸ் தொடரமைப்பைப் பயன்படுத்தும் குறியீடு இருந்தால், சதுர அடைப்புக்குறி தொடரமைப்பைப் பயன்படுத்த நீங்கள் அதை மாற்றியமைக்க வேண்டும். ரெக்டர் மற்றும் PHP-CS-Fixer போன்ற தானியங்கி கருவிகள் இந்த மாற்றத்தை விரைவாகவும் எளிதாகவும் செய்ய உதவும்.

அனைத்து அறிவுத் தளக் கட்டுரைகளும்

எதை நிலைநிறுத்த வேண்டும் என்பதை எங்களிடம் கூறுங்கள்.

A short conversation with an engineer. No quote-bot, no callback queue.