PHP 8.4 का नया रिलीज़: मुख्य बदलावों का अवलोकन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP 8.4 जारी: क्या बदला और यह क्यों महत्वपूर्ण है



डेवलपर समुदाय ने लंबे समय से प्रतीक्षित PHP 8.4 रिलीज़ का स्वागत किया — वेब प्रोग्रामिंग की सबसे लोकप्रिय भाषाओं में से एक का नया प्रमुख संस्करण। अपडेट में कई महत्वपूर्ण सुधार लाए गए हैं, जिनमें लंबे समय से प्रतीक्षित property hooks, असममित दृश्यता और प्रदर्शन का महत्वपूर्ण अनुकूलन शामिल है। आइए मुख्य बदलावों को समझें जो प्रत्येक PHP डेवलपर को जानना चाहिए।



1. Property Hooks (प्रॉपर्टी हुक्स)

सबसे बड़ा नवाचार — अलग-अलग विधियाँ लिखे बिना सीधे क्लास प्रॉपर्टी घोषणा में गेटर और सेटर को परिभाषित करने की क्षमता। यह गणना या सत्यापन योग्य फ़ील्ड के साथ काम करना काफी सरल बनाता है।



class User{    public string $name {        set => $this->name = trim($value);        get => ucfirst($this->name);    }}


पहले ऐसे तर्क के लिए अलग-अलग getName() और setName() विधियाँ लिखनी पड़ती थीं। Property hooks कोड को स्वच्छ और अधिक पठनीय बनाते हैं।



2. असममित दृश्यता (Asymmetric Visibility)

अब प्रॉपर्टी के पढ़ने और लिखने के लिए अलग-अलग एक्सेस स्तर निर्धारित किए जा सकते हैं। उदाहरण के लिए, सार्वजनिक पढ़ना, लेकिन संरक्षित लिखना:



class Post{    public private(set) string $title;}


यह केवल एक्सेस नियंत्रण के लिए गेटर और सेटर बनाने की आवश्यकता को समाप्त करता है, जबकि एनकैप्सुलेशन बनाए रखता है।



3. बेहतर JIT और प्रदर्शन

PHP 8.4 में JIT-कंपाइलर (Just-In-Time) को काफी हद तक फिर से डिज़ाइन किया गया है। कोर डेवलपर्स ने संकलन निर्णयों के लिए ह्यूरिस्टिक्स में सुधार किया और हॉट कोड पथों के निष्पादन के दौरान ओवरहेड को कम किया। प्रारंभिक परीक्षणों के अनुसार, PHP 8.3 की तुलना में सिंथेटिक बेंचमार्क में प्रदर्शन में 10% से 25% तक की वृद्धि हुई है।



  • लूप और रिकर्सिव फ़ंक्शन के काम में तेजी
  • बड़े ऐरे की बेहतर प्रोसेसिंग
  • JIT मोड में मेमोरी खपत में 15% तक की कमी


4. नया सिंटैक्स: टाइप के साथ ऐरे डिस्ट्रक्चरिंग

ऐरे डिस्ट्रक्चरिंग करते समय टाइप निर्दिष्ट करने की क्षमता जोड़ी गई:



[$name, $age] = ['इवान', 30]; // पहले था[ string $name, int $age ] = ['इवान', 30]; // अब है


यह स्थैतिक विश्लेषण को बढ़ाता है और कोड को स्व-दस्तावेजीकरण बनाता है।



5. मानक पुस्तकालय में बदलाव

  • नए फ़ंक्शन: array_find(), array_find_key(), array_any() और array_all() — ऐरे के साथ अधिक संक्षिप्त कार्य के लिए।
  • PCRE2 अपडेट: रेगुलर एक्सप्रेशन लाइब्रेरी को संस्करण 10.44 में अपडेट किया गया, जो कई दुर्लभ बगों को ठीक करता है।
  • पुराने फ़ंक्शन: session_set_cookie_params() (ini_set() के पक्ष में) और कई आंतरिक फ़ंक्शन को पुराना घोषित किया गया।


6. अप्रचलन की स्थिति (Deprecations)

PHP 8.4 में निम्नलिखित को पुराना चिह्नित किया गया है:

  • #[\\ReturnTypeWillChange] के माध्यम से रिटर्न प्रकार बदलना — अब स्पष्ट घोषणा आवश्यक है।
  • गैर-ऐरे पर isset() कॉल करना (उदाहरण के लिए

अनुशंसित लाइब्रेरीज़