PHP 8.3: নতুন ফিচার (RFC সহ) এবং রিলিজ ডেট

01 October 2023

1 min read


পিএইচপি একটি ওপেন-সোর্স প্রজেক্ট। অল্প কয়েক মিনিট ঘাঁটাঘাঁটি করলেই জেনে যাওয়া যায় পরের ভার্সনে কী আসছে।

নিচে আপনি একটা সংক্ষিপ্ত তালিকায় ধারণা পেয়ে যাবেন- নতুন কী কী এসেছে, এবং তাদের স্যাম্পল কোড কেমন।

পিএইচপি 8.৩ কবে আসবে?

প্রিপারেশন টাস্ক লিস্ট অনুযায়ী, পিএইচপি ৮.৩ আসবে নভেম্বর ২৩, ২০২৩ এ– তিনটি আলফা, তিনটি, বেটা এবং ছয়টি রিলিজ ক্যান্ডিডেটের পরে।

তারিখ

রিলিজ

June 8, 2023

Alpha 1

June 22, 2023

Alpha 2

July 6, 2023

Alpha 3

July 18, 2023

Feature freeze

July 20, 2023

Beta 1

August 03, 2023

Beta 2

August 17, 2023

Beta 3

August 31, 2023

RC 1

September 14, 2023

RC 2

September 28, 2023

RC 3

October 12, 2023

RC 4

October 26, 2023

RC 5

November 9, 2023

RC 6

November 23, 2023

GA



নতুন কী আছে পিএইচপি ৮.৩ এ: নতুন ফিচার এবং পরিবর্তনসমূহ

json_validate()

JSON স্ট্রিং যাচাই করতে json_decode() এর পরিবর্তে এখন আপনি json_validate() ব্যবহার করতে পারেন। আরএফসি অনুযায়ী, এতে কম রিসোর্স ব্যবহৃত হয়।

json_validate('{ "foo": "bar", }');

// Syntax error

echo json_last_error_msg();

দেখতে পাচ্ছেন, এখানে json_validate() একটা boolean রিটার্ন করে, আর আপনি এই এরোর ম্যাসেজটি json_last_error() অথবা json_last_error_msg() দিয়ে এনে আরও ডিটেইলস পেতে পারেন।

উন্নত unserialize() এরোর হ্যান্ডলিং

পিএইচপি ৮.৩ এর রয়েছে আনসিরিয়ালাইজিংএর সময়ে উন্নত এরোর হ্যান্ডলিং সুবিধা।

আমি কাস্টম আনসিরিয়ালাইজেশনের ব্যাপারে জ্ঞাত নই, তবে আমি আমার সর্বোচ্চ চেষ্টা করব কীভাবে এই আরএফসি কাজ করে এটা খুব সহজে বোঝাতে।

এতদিন আমাদের কাস্টম এরোর হ্যান্ডলারের মত ভয়ানক কোডের উপর ভরসা করে থাকতে হত, কিন্তু এখন সেখানে রয়েছে unserialize() ফাংশন।

try {

set_error_handler(static function ($severity, $message, $file, $line) {

throw new ErrorException($message, 0, $severity, $file, $line);

});

$result = unserialize($serialized);

} catch (Throwable $e) {

// Unserialization failed. Catch block optional if the error should not be handled.

} finally {

restore_error_handler();

}

পিএইচপি ৮.৩ এ আমরা unserialize() মেথড ব্যবহার করে সরাসরি এরোর হ্যান্ডেল করতে পারব:

function unserialize(string $data): mixed

{

try {

//

} catch (Throwable $e) {

throw new UnserializationFailedException(previous: $e);

}

}

র‍্যান্ডমাইজার অ্যাডিশন (Randomizer Additions)

এই আরএফসি \Random\Randomizer এবং IntervalBoundary নামক একটি enum এ তিনটি নতুন মেথড যুক্ত করার সুবিধা প্রদান করে, যা নিচের মেথডগুলোর একটিতে ব্যবহৃত হয়:

final class Randomizer {

public function getBytesFromString(string $string, int $length) : string {}

public function nextFloat() : float {}

public function getFloat(float $min, float $max, IntervalBoundary $boundary = IntervalBoundary::ClosedOpen) : float {}

}

enum IntervalBoundary

{

case ClosedOpen;

case ClosedClosed;

case OpenClosed;

case OpenOpen;

}

ডায়নামিক ক্লাস কন্সট্যান্ট ফেচ (Dynamic class constant fetch)

এই আরএফসি ভ্যারিয়েবলের সাহায্যে ডায়নামিকভাবে ক্লাস কন্সট্যান্টদের অ্যাক্সেস করার সুবিধা দেয়।

এর মানে হচ্ছে একটা স্ট্যাটিক স্ট্রিং ভ্যালু দিয়ে ক্লাস কন্সট্যান্টদের অ্যাক্সেস (যেমন- ClassName::CONSTANT) করার পরিবর্তে আপনি কন্সট্যান্টের নাম সংবলিত একটি ভ্যারিয়েবল ব্যবহার করতে পারেন।

$constant = 'CONSTANT';

ClassName::{$constant}

এই পরিবর্তনের কারণে ডায়নামিকভাবে এবং প্রোগ্রামাটিকভাবে ক্লাস কন্সট্যান্ট অ্যাক্সেস করা সহজতর হবে।

আরও যথাযথ ডেট/টাইম এক্সেপশন

এই আরএফসির সাহায্যে পিএইচপিতে নির্দিষ্ট তারিখ ও সময়ের এক্সেপশন হ্যান্ডেল করা যায়।

বর্তমানে এখানে ওয়ার্নিং, এরোর অথবা একটা সাধারণ Exception রয়েছে যা ততটা নির্দিষ্ট নয়।

এখানে আলাদা আলাদা এরোরের জন্য আলাদা আলাদা এক্সেপশন থাকবে, যেমন ‘DateInvalidTimeZoneException’, ‘DateInvalidOperationException’, এবং ‘DateMalformedStringException’।

পিএইচপি ৮.৩ এর জন্য আজ এই পর্যন্তই।

আমি আসন্ন মাসগুলোতে গৃহীত নতুন আরএফসি নিয়ে রিপোর্ট করতে থাকব।



Share this article

RELATED ARTICLES

What Are The Benefits Of Flutter App Development?

ফ্লাটার অ্যাপ ডেভেলপমেন্টের সুবিধা || What Are The Benefits Of Flutter App Development? || About Flutter App Benefits টেকনোলজির ব্যবহার মানুষের জীবনকে আগের তুলনায় অনেক সহজ করেছে। ধরুন, আপনি যদি কোডিং লেখা ছাড়াই, কোনো অ্যাপের মাধ্যমে , একটা লাইন ইনপুট দিলেন, আর সাথে সাথে এর নির্ভুল একটা কোড পেয়ে যান, তাহলে কি আপনার আর কোডিং শেখার  মতো কাজটি আর করতে হবে? আপনি নিশ্চয়ই আর কোডিং শিখতে যাবেন না। কেননা, মানুষ যে উপায়ে সহজে ও নির্ভুল ভাবে কোন একটি কাজ করতে পারে, সে সেটিই সবসময় ইউজ করে। তাই বর্তমানে ক

11 July 2024

1 min read

ফ্লাটার কি ফ্রন্টেড নাকি ব্যাকেন্ড? ।। Is Flutter Frontend Or Backend (Uses of Flutter)?

অ্যাপ ডেভেলমেন্টের এই যুগে কতশত ফ্রেমওয়ার্কের আলাপ আসে আর যায়, তবে কিছু কিছু ফ্রেমওয়ার্ক যেন অ্যাপ ডেভেলমেন্টের জগতকেই পালটে দেয়। ২০১৫ সালে গুগলের আনা একটি ফ্রেমওয়ার্ক ফ্লাটার ঠিক তেমনি একটি ফ্রেমওয়ার্ক। মোবাইল অ্যাপ ডেভেলমেন্টকে টার্গেট করে ডেভেলপ করা এই ফ্রেমওয়ার্কটির পটেনশিয়াল দিনদিন বেড়েই চলছে।  আর এই অ্যাপ ডেভেলপমেন্টের ক্ষেত্রে, যে দুইটি সাইড সুপ্রিমেসি নিয়ে আছে সেগুলো হল: ফ্রন্টএন্ড এবং ব্যাকএন্ড।  ফ্রন্টএন্ড হল চকচকে ঝকঝকে ইন্টারফেস যার সাথে ইউজাররা ইন্টারঅ্যাক্ট করে, আর ব্যাকএন্ড মূলত

08 July 2024

1 min read

ডাটা সায়েন্টিস্ট হওয়ার ৮ টি স্টেপ

আপনার কি মনে হচ্ছে না, ডেটা সাইনটিস্ট হওয়ার এখনি সময়? একবার চারপাশে খেয়াল করুন তো! তাহলে দেখতে পাবেন ডেটা সায়েন্স এখন সব জায়গায়। একের পর এক, ওয়ার্ল্ডওয়াইড কোম্পানিগুলো সবচেয়ে ডাইভার্স প্রবলেমগুলোর সলিউশনের জন্য ডেটা সায়েন্সের দিকে ঝুঁকছে।  এই পরিস্থিতি ডেটা সাইনটিস্টদের জব সেক্টর ও স্যালারি স্ট্রাকচার কিন্তু খুবই অ্যাডভান্টেজ পজিশনে আছে। তাই আর দেরি কেন?? ৮ টি স্টেপ ফলো করে, আপনিও হতে পারেন একজন ডাটা সায়েন্টিস্ট। 1. Learn data wrangling, data visualization, and reporting  আপনি যখন ডেটা সায

15 May 2024

দ্য ফিউচার অফ আর্টিফিশিয়াল ইন্টেলিজেন্স

আমি যদি সাম্প্রতিক সময়ের কথা বলি সেখানে কৃত্রিম বুদ্ধিমত্তা (আর্টিফিশিয়াল ইন্টেলিজেন্স) বা AI বেশ বিপ্লব ঘটিয়েছে। হেলথকেয়ার থেকে শুরু করে ট্রান্সপোর্ট, এডুকেশন থেকে শুরু করে এন্টারটেইনমেন্ট এর ক্ষেত্রে AI এর ব্যবহার ব্যাপক। আর তাই ধীরে ধীরে আমরা নির্ভর হয়ে পড়ছি AI এর উপর। কিন্তু এই প্রযুক্তির ভবিষ্যৎ কী? আর্টিফিশিয়াল ইন্টেলিজেন্স আমাদের জীবনকে আরও ভালো করে তুলতে ব্যবহার করা হবে নাকি আমাদের অস্তিত্বের জন্য হুমকি সৃষ্টি করবে? এই প্রশ্নের উত্তর দেওয়ার আগে আমি একটি সাম্প্রতিক ডাটা শেয়ার করি। 2023

13 May 2024

অনলাইন লাইভ স্কিল ডেভেলপমেন্ট প্ল্যাটফর্ম।

ডাউনলোড করুন ওস্তাদ অ্যাপ

কমিউনিটি -এর সাথে কানেক্টেড থাকতে