پی ایچ پی 8 کی بیٹا ٹیسٹنگ شروع ہو گئی ہے۔

کی طرف سے پیش پی ایچ پی 8 پروگرامنگ لینگویج کی نئی برانچ کا پہلا بیٹا ریلیز۔ ریلیز 26 نومبر کو شیڈول ہے۔ ایک ہی وقت میں، پی ایچ پی 7.4.9، 7.3.21 اور کی اصلاحی ریلیز
7.2.33، جس نے جمع شدہ غلطیوں اور کمزوریوں کو ختم کیا۔

اہم بدعات پی ایچ پی 8:

  • شمولیت جے آئی ٹی مرتب کرنے والاجس کے استعمال سے پیداواری صلاحیت میں بہتری آئے گی۔
  • معاونت نامزد فنکشن آرگیومینٹس، آپ کو ناموں کے سلسلے میں فنکشن میں قدریں منتقل کرنے کی اجازت دیتا ہے، یعنی آپ کسی بھی ترتیب میں دلائل پاس کر سکتے ہیں اور اختیاری دلائل کی وضاحت کر سکتے ہیں۔ مثال کے طور پر، "array_fill(start_index: 0، num: 100، value: 50)"۔
  • جب کال کرنے کے طریقے اجازت دی "؟" آپریٹر کا استعمال کرتے ہوئے، جو آپ کو صرف اس صورت میں کال شروع کرنے کی اجازت دیتا ہے جب طریقہ موجود ہو، جو "نال" قدر واپس کرنے کے لیے غیر ضروری جانچ پڑتال سے گریز کرتا ہے۔ مثال کے طور پر، "$dateAsString = $booking->getStartDate()?->asDateTimeString()"؛
  • معاونت یونین کی اقسام، دو یا زیادہ اقسام کے مجموعوں کی وضاحت کرنا (مثال کے طور پر، "عوامی فنکشن foo(Foo|Bar $input): int|float;")۔
  • معاونت صفات (تشریحات) جو آپ کو Docblock نحو کا استعمال کیے بغیر میٹا ڈیٹا (جیسے قسم کی معلومات) کو کلاسوں میں باندھنے کی اجازت دیتے ہیں۔
  • اظہار کی حمایت میل کھاتے ہیں، جو، سوئچ کے برعکس، اقدار کو واپس کر سکتا ہے، حالات کے امتزاج کی حمایت کر سکتا ہے، سخت قسم کے موازنہ کا استعمال کر سکتا ہے، اور "بریک" تفصیلات کی ضرورت نہیں ہے۔

    $نتیجہ = میچ ($ ان پٹ) {
    0 => "ہیلو"،
    '1', '2', '3' => "دنیا"،
    };

  • مختصر نحو کلاس کی تعریفیں، آپ کو کنسٹرکٹر اور خصوصیات کی تعریف کو یکجا کرنے کی اجازت دیتی ہے۔
  • واپسی کی نئی قسم - مستحکم.
  • نئی قسم - مخلوط، جس کا استعمال اس بات کا تعین کرنے کے لیے کیا جا سکتا ہے کہ آیا کوئی فنکشن مختلف اقسام کے پیرامیٹرز کو قبول کرتا ہے۔
  • اظہار پھینک مستثنیات کو سنبھالنے کے لئے.
  • کمزور نقشہ ایسی چیزیں بنانا جو کوڑا اٹھانے کے دوران قربان کی جا سکتی ہیں (مثال کے طور پر، غیر ضروری کیچز کو ذخیرہ کرنے کے لیے)۔
  • موقع اشیاء کے لیے اظہار "::class" کا استعمال کرتے ہوئے (کال کرنے کے مشابہ get_class())۔
  • موقع مستثنیات کے کیچ بلاک میں تعریفیں جو متغیرات کے پابند نہیں ہیں۔
  • موقع فنکشن پیرامیٹرز کی فہرست میں آخری عنصر کے بعد کوما چھوڑنا۔
  • نیا انٹرفیس سٹرنگ ایبل کسی بھی سٹرنگ کی اقسام یا ڈیٹا کی شناخت کرنے کے لیے جسے سٹرنگ میں تبدیل کیا جا سکتا ہے (جس کے لیے __toString() طریقہ دستیاب ہے)۔
  • نئی سہولت str_contains(), ذیلی سٹرنگ کی موجودگی کا تعین کرنے کے لیے strpos کا ایک آسان اینالاگ، نیز سٹرنگ کے شروع اور آخر میں میچز کی جانچ کے لیے فنکشنز str_starts_with() اور str_ends_with()۔
  • فنکشن شامل کیا گیا۔ fdiv()، جو صفر سے تقسیم کرتے وقت خرابی پھینکے بغیر تقسیم کا عمل انجام دیتا ہے۔
  • بدل گیا۔ سٹرنگ جوائننگ منطق۔ مثال کے طور پر، اظہار 'echo "sum:" ۔ $a + $b' کو پہلے 'echo ("sum: " . $a) + $b' سے تعبیر کیا گیا تھا، اور PHP 8 میں 'echo "sum: " سمجھا جائے گا۔ ($a + $b)'۔
  • سخت ریاضی اور بٹ آپریشنز کی جانچ پڑتال، مثال کے طور پر، "[] % [42]" اور "$object + 4" کے تاثرات ایک غلطی کا باعث بنیں گے۔
  • لاگو کیا ایک مستحکم ترتیب دینے والا الگورتھم جس میں ایک جیسی اقدار کی ترتیب کو مختلف رنز میں محفوظ کیا جاتا ہے۔
  • ماخذ: opennet.ru

نیا تبصرہ شامل کریں