5 पॉइंट द्वारा GN⁺ 2024-11-22 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • इसमें property hooks, asymmetric visibility, अपडेटेड DOM API, परफ़ॉर्मेंस सुधार, बग फिक्स और सामान्य cleanup शामिल हैं
    • property hooks उपलब्ध हैं, जो computed properties को सपोर्ट करते हैं जिन्हें IDE और static analysis tools native रूप से समझ सकते हैं
    • asymmetric visibility पेश की गई है, जिससे properties के read और write scope को स्वतंत्र रूप से नियंत्रित किया जा सकता है
  • नई सुविधाएँ
    • #[\Deprecated] attribute के ज़रिए custom functions, methods और class constants पर PHP का मौजूदा deprecation mechanism लागू किया जा सकता है
    • नया DOM API HTML5 documents parsing के लिए standards-compliant support शामिल करता है और DOM functionality से जुड़े कई पुराने compatibility bugs को ठीक करता है
    • BcMath\Number object का उपयोग करके arbitrary-precision numbers को object-oriented तरीके से संभाला जा सकता है
    • array_find(), array_find_key(), array_any(), array_all() जैसी नई array functions उपलब्ध हैं
    • PDO के नए subclasses Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc, Pdo\Pgsql, Pdo\Sqlite उपलब्ध हैं
    • नए बनाए गए object की properties और methods को बिना parentheses के access किया जा सकता है
  • नई classes, interfaces और functions
    • नए Lazy Objects, और IR Framework आधारित JIT implementation
    • request_parse_body() function, bcceil(), bcdivmod(), bcfloor(), bcround() functions जोड़े गए
    • DateTime::createFromTimestamp(), DateTime::getMicrosecond(), DateTime::setMicrosecond() जैसी methods जोड़ी गईं
    • mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst(), mb_lcfirst() functions जोड़े गए
    • pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns(), pcntl_waitid() functions जोड़े गए
    • ReflectionClassConstant::isDeprecated(), ReflectionGenerator::isClosed(), ReflectionProperty::isDynamic() methods जोड़ी गईं
    • http_get_last_response_headers(), http_clear_last_response_headers(), fpow() functions जोड़े गए
    • XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString(), XMLWriter::toStream(), XMLWriter::toUri(), XMLWriter::toMemory() methods जोड़ी गईं
    • grapheme_str_split() function जोड़ा गया
  • Deprecations और breaking changes
    • IMAP, OCI8, PDO_OCI, pspell extensions को bundle से हटाकर PECL में स्थानांतरित किया गया
    • implicit nullable parameter types अब deprecated हैं
    • class name के रूप में _ का उपयोग deprecated है
    • 0 को किसी negative power तक बढ़ाना deprecated है
    • round() को invalid mode देने पर अब ValueError होता है
    • extensions के class constants अब typed हैं
    • GMP class अब final के रूप में चिह्नित है
    • MYSQLI से संबंधित constants और functions deprecated हैं
    • stream_bucket_make_writeable() और stream_bucket_new() अब StreamBucket instance लौटाते हैं
    • exit() का व्यवहार बदला गया है
    • E_STRICT constant deprecated है
  • परफ़ॉर्मेंस और syntax सुधार
    • परफ़ॉर्मेंस, syntax और type safety में सुधार
    • PHP 8.4 में upgrade करने की सिफारिश की गई है

3 टिप्पणियां

 
carnoxen 2024-11-23

WordPress और Laravel की वजह से कम से कम भूखों नहीं मरेगी यह language

 
budaestew 2024-11-23

WordPress और Laravel खत्म भी हो जाएँ, तब भी यह ऐसी भाषा है जिससे भूखे नहीं मरेंगे।

 
GN⁺ 2024-11-22
Hacker News राय
  • RFC में यह स्पष्ट किया गया है कि $this->countryCode अनंत recursion क्यों नहीं पैदा करता। यह कुछ जादुई सा लगता है कि PHP में property access संदर्भ के अनुसार अलग अर्थ ले सकता है।

    • भाषा में ऐसा जादू मौजूद है जहाँ property access method call में बदल जाता है।
    • मैं PHP उपयोगकर्ता नहीं हूँ, लेकिन भाषा में ऐसी जटिलता जुड़ना चिंताजनक लगता है।
  • एक PHP programmer के तौर पर मुझे PHP की दिशा को लेकर चिंता है। नए language features संदिग्ध लाभ के लिए भाषा की जटिलता बढ़ा रहे हैं।

    • property hooks का मतलब है कि property access method call में बदल जाता है।
    • मैंने JS और Perl में इससे मिलते-जुलते features इस्तेमाल किए हैं, लेकिन explicit methods ज़्यादा स्पष्ट और विस्तार योग्य होते हैं।
  • यह देखकर खुशी होती है कि PHP अब भी फल-फूल रहा है। 2021 में Nikita Popov के जाने पर चिंता हुई थी, लेकिन PHP अब भी एक अच्छी भाषा है और इस पर बहुत से developers सक्रिय हैं।

  • property hooks को लेकर सबसे ज़्यादा उत्साहित हूँ। यह वह feature है जिसकी कमी मुझे C# में महसूस होती थी।

    • मैंने __get() और __set() का उपयोग करके इसकी नकल भी की थी, लेकिन वह भारी था और बहुत सारे PHPDoc annotations की ज़रूरत पड़ती थी।
  • array accessors overloading को देखते-देखते "Property Hooks" पर नज़र पड़ी। यह जानकर हैरानी हुई कि यह हाल ही में जोड़ा गया feature है।

    • मुझे अच्छा लगता है कि दूसरी भाषाओं की expressiveness और syntactic sugar PHP में लाई जा रही है।
  • PHP की नई release से संतुष्ट हूँ। closures के लिए बेहतर stack traces, performance improvements, HTML5 support, lazy objects जैसी कई सुधार किए गए हैं।

  • bcmath objects को लेकर उत्साहित हूँ। arithmetic operators से ज़्यादा यह बात पसंद आई कि अब wrapper classes के बिना data type checks किए जा सकते हैं।

  • यह देखकर खुशी है कि PHP अब भी आगे बढ़ रहा है। जब मैंने freelancer के रूप में शुरुआत की थी, तब की यादें ताज़ा हो गईं।

  • PHP का नया array_find function भाषा डिज़ाइन की समस्या दिखाता है। यह मौजूदा array_search जैसा है, लेकिन arguments का क्रम अलग है।

    • इसे PHP में इसलिए जोड़ा गया क्योंकि दूसरी भाषाओं में ऐसे functions हैं, लेकिन अधिकांश भाषाएँ इन्हें global functions के रूप में नहीं बनातीं।
  • "public private(set)" समझ में नहीं आता। "readonly public" ज़्यादा उपयुक्त लगता है।

    • यह Swift के private(set) जैसा दिखता है।