PHP 8.0 ലെ പുതിയ സവിശേഷതകൾ

PHP ഫ്ലോട്ട് ചെയ്യാനുള്ള സ്ട്രിംഗ്

പുതിയ കീകളിൽ ചിലത് താഴെ കൊടുക്കുന്നു PHP 8 ന്റെ സവിശേഷതകൾ

JIT (കൃത്യസമയത്ത്)  

JIT ആണ് ഏറ്റവും പ്രധാനപ്പെട്ട സവിശേഷത PHP 8. OPcache-യുടെ ഒരു സ്വതന്ത്ര ഭാഗമാണ് PHP JIT. ഇതിന് റൺടൈമിലും കംപൈൽ സമയത്തും പ്രവർത്തനക്ഷമമാക്കാനും പ്രവർത്തനരഹിതമാക്കാനും കഴിയും.

JIT എന്നത് ജസ്റ്റ് ഇൻ ടൈം കംപൈലറിനെ സൂചിപ്പിക്കുന്നുവെന്ന് കരുതുക. എക്‌സിക്യൂഷന് മുമ്പുള്ളതിനേക്കാൾ പ്രോഗ്രാം എക്‌സിക്യൂഷൻ സമയത്ത് കമ്പ്യൂട്ടർ കോഡ് എക്‌സിക്യൂട്ട് ചെയ്യുന്ന രീതിയാണിത്.

അതിനാൽ, JIT PHP ബൈറ്റ് കോഡ് മെഷീൻ കോഡിലേക്ക് വിവർത്തനം ചെയ്യുന്നു. ഈ ഫംഗ്‌ഷൻ കനത്ത ഗണിത പ്രവർത്തനങ്ങളുള്ള ആപ്ലിക്കേഷനുകളുടെ പ്രകടനം മെച്ചപ്പെടുത്തി. ഇത് PHP ആപ്ലിക്കേഷനുകളുടെ പ്രകടനം വർദ്ധിപ്പിക്കുന്നു, കാരണം റൺടൈമിൽ ഇതിന് ജനറേറ്റഡ് കോഡ് നേറ്റീവ് മെഷീൻ കോഡിലേക്ക് കംപൈൽ ചെയ്യാൻ കഴിയും. JIT പ്രവർത്തനക്ഷമമാക്കിയാൽ കോഡ് CPU തന്നെ പ്രവർത്തിപ്പിക്കും, അതുകൊണ്ടാണ് ഇത് PHP വളരെ വേഗത്തിലാക്കുന്നത്.
RFC അനുസരിച്ച്, PHP വേണ്ടത്ര വേഗതയുള്ളതിനാൽ C-യിൽ നിന്ന് PHP-യിലേക്ക് കൂടുതൽ കോഡ് നീക്കാനുള്ള സാധ്യത വർദ്ധിച്ചു. 

യൂണിയൻ തരങ്ങൾ  

യൂണിയൻ തരങ്ങൾ വളരെ പ്രധാനമാണ് PHP 8-ൽ പ്രവർത്തനം കാരണം, ചലനാത്മകമായി ടൈപ്പ് ചെയ്ത ഘടനയാണ് PHP. നിലവിൽ, PHP രണ്ട് തരത്തിലുള്ള യൂണിയൻ തരങ്ങളെ പിന്തുണയ്ക്കുന്നു, ചില തരം null and array അല്ലെങ്കിൽ traversable. PHP 8-ൽ, യൂണിയൻ തരങ്ങൾ ഒന്നിലധികം തരങ്ങളുടെ മൂല്യങ്ങൾ സ്വീകരിക്കുന്നു, അവയിലൊന്ന് ഉപയോഗിക്കാമെന്ന് സൂചിപ്പിക്കുന്ന ഒന്നിന് പകരം. 

ഗുണവിശേഷങ്ങൾ 

C#, C++, Rust, തുടങ്ങിയ മറ്റ് പല ഭാഷകളിലും ആട്രിബ്യൂട്ട് ഫംഗ്‌ഷൻ ലഭ്യമാണ്. മുമ്പ് PHP 8, PHP മെറ്റാഡാറ്റയുടെ ഘടനയില്ലാത്ത രൂപത്തെ പിന്തുണച്ചു. ഇപ്പോൾ പുതിയ പതിപ്പിൽ, നിങ്ങൾക്ക് PHP നേറ്റീവ് സിന്റാക്സ് ഉപയോഗിച്ച് ഘടനാപരമായ മെറ്റാഡാറ്റ ഉപയോഗിക്കാം. ഒബ്‌ജക്‌റ്റുകൾക്കോ ​​ഘടകങ്ങൾക്കോ ​​ഫയലുകൾക്കോ ​​ഉള്ള പ്രോപ്പർട്ടികൾ വ്യക്തമാക്കാൻ ഉപയോഗിക്കാവുന്ന മെഷീൻ-റീഡബിൾ മെറ്റാഡാറ്റ വിവരങ്ങൾ ചേർക്കാനുള്ള കഴിവ് ആട്രിബ്യൂട്ടുകൾ വാഗ്ദാനം ചെയ്യുന്നു.  

കൈകാര്യം ചെയ്യുന്നതിൽ പിശക് 

ഈ ഏറ്റവും പുതിയ അപ്-ഗ്രേഡേഷന് മുമ്പ് PHP ഒരു മുന്നറിയിപ്പ് പുറപ്പെടുവിക്കുകയും അതിന് ഉപയോഗിക്കാനാകാത്ത ഒരു മൂല്യം നേരിടുമ്പോൾ അസാധുവായി നൽകുകയും ചെയ്യുന്നു. PHP മുന്നറിയിപ്പ് ശേഷിക്കുന്ന ബ്ലോക്കിനെ തടയാത്തതിനാൽ ഈ സ്വഭാവം അഭികാമ്യമല്ല. ഇപ്പോൾ അകത്ത് PHP 8 ഇന്റേണൽ ഫംഗ്‌ഷനുകൾക്ക് തരം പിശകുകൾക്കോ ​​മൂല്യ പിശകുകൾക്കോ ​​ഒഴിവാക്കാനാകും. ഉപയോക്താവ് നിർവചിച്ച ഫംഗ്‌ഷനിലേക്ക് ഒരു നിയമവിരുദ്ധ പാരാമീറ്റർ കൈമാറുന്നത് ഒരു തരം പിശകാണ്. ഇപ്പോൾ ഒരു മുന്നറിയിപ്പിന് പകരം, PHP ന് ഒഴിവാക്കലുകൾ എറിയാൻ കഴിയും.  

ദുർബലമായ മാപ്പുകൾ 

പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിനും ദീർഘകാല പ്രക്രിയകളിൽ മെമ്മറി ചോർച്ച തടയുന്നതിനും, PHP 8 ദുർബലമായ ഭൂപടങ്ങൾ അവതരിപ്പിച്ചു. കീകൾ ദുർബലമായി പരാമർശിച്ചിരിക്കുന്ന ഡാറ്റാ ഒബ്ജക്റ്റുകളുടെ ഒരു ശേഖരമാണ് വീക്ക്മാപ്പ്. ഒരു ഒബ്‌ജക്റ്റിനേക്കാൾ കൂടുതൽ കാലം ജീവിക്കേണ്ട ആവശ്യമില്ലാത്ത ഒരു ഒബ്‌ജക്റ്റിൽ നിന്ന് ഉരുത്തിരിഞ്ഞ ഡാറ്റയുടെ കാഷെയാണ് ദുർബലമായ മാപ്പ്. വസ്തു വ്യാപ്തിയിൽ നിന്ന് വീണാൽ, അത് വസ്തു വൃത്തിയാക്കുന്നതിൽ നിന്ന് മാലിന്യ ശേഖരണത്തെ തടയില്ല. 

നൾസേഫ് ഓപ്പറേറ്റർ

നൾസേഫ് അടിസ്ഥാനപരമായി ഷോർട്ട് സർക്യൂട്ടിംഗ് മാർഗമാണ്, നൽകിയിരിക്കുന്ന ചില വ്യവസ്ഥകളെ അടിസ്ഥാനമാക്കി ഒരു പദപ്രയോഗത്തിന്റെ മൂല്യനിർണ്ണയം ഒഴിവാക്കുക. PHP നുൾസേഫ് ഓപ്പറേറ്റർ എന്നത് PHP-യിലേക്ക് ഓപ്ഷണൽ ചെയിനിംഗ് നൽകുന്ന ഒരു പുതിയ സവിശേഷതയാണ്. മൂല്യം അസാധുവാണെങ്കിൽ, പിഴവുകളൊന്നും വരുത്താതെ അത് വീണ്ടെടുക്കൽ ഷോർട്ട് സർക്യൂട്ടുചെയ്യുന്നു. നൾ സേഫ് ഓപ്പറേറ്റർ ?-> ആണ്

പൊരുത്തം പ്രകടിപ്പിക്കൽ 

മാച്ച് എക്‌സ്‌പ്രഷൻ സ്വിച്ച് സ്റ്റേറ്റ്‌മെന്റ് l-ന് സമാനമാണ്, ഇതിന് ഒന്നിലധികം ബദലുകളുമായി താരതമ്യപ്പെടുത്തുന്ന ഒരു സബ്‌ജക്റ്റ് എക്‌സ്‌പ്രഷൻ ഉണ്ട്. ഇത് സിംഗിൾ-ലൈൻ എക്‌സ്‌പ്രഷനുകളെ പിന്തുണയ്‌ക്കുന്നു, ബ്രേക്ക് സ്റ്റേറ്റ്‌മെന്റ് ആവശ്യമില്ല. മാച്ച് എക്സ്പ്രഷൻ കർശനമായ താരതമ്യം ചെയ്യുന്നു. 

ഉദാഹരണത്തിന് PHP 7-ലും പഴയ പതിപ്പുകളിലും: 

Switch ( 7.0 ) { 
  Case '7.0’ :
           $answer  = “Beautiful”
        Break;
Case 7.0 : 
    $answer = “wonderful” 
Break; 
} 
Echo $answer

PHP 8-ൽ നമുക്ക് ഒരു മാച്ച് എക്സ്പ്രഷൻ എഴുതാം:

Echo match (8.0) { 
      ‘8.0’ => “Beautiful” 
      8.0 => “Wonderful” 

};
PHP ഫ്ലോട്ട് ചെയ്യാനുള്ള സ്ട്രിംഗ്
en English
X
ടോപ്പ് സ്ക്രോൾ