امروز: ۰۲ آذر ۱۴۰۳
در مسیر توسعه فردی و سازمانی
اشتراک دانش بصیر پچاز » ویژگی های جدید PHP 7.1 (۱۳۹۵/۱۰/۲۵)
تایید شده

PHP را شاید بتوان محبوت ترین زبان برنامه نویسی تحت وب نامید که شمار بسیار زیادی از برنامه نویسان، ترجیح می دهند اپلیکیشن های تحت وب خود را، تحت این زبان توسعه دهند. سادگی توسعه و باز متن باز بودن این زبان، از جمله  دلایلی است که باعث محبوبیت روزافزون این زبان شده است.


در این مقاله، برخی از ویژگی های جدید آخرین نسخه منتشر شده از این زبان محبوب را با هم مرور می کنیم.


1- بررسی تعداد آرگومان های ارسالی


در صورتی که تعداد آرگومان های ارسالی با آرگومان های درخواستی تابع مطابقت نداشته باشد، به کاربر خطای Argument count error را نشان می دهد. اما اگر تابع ما به شکلی باشد که احتمال می دهیم برخی از پارامترهای ارسالی آن null باشند، می توانیم به صورت زیر از خطای نامبرده جلوگیری کنیم:


 


function sum(?int $a, ?int $b): ?int
{
if ($a == null || $b == null) {
return null;
}
return $a + $b;
}

در این صورت شما حتماً باید آرگومان مربوطه را در هنگام فراخوانی تابع، ارسال کنید. حال این آرگومان می تواند null باشد یا مقدار داشته باشد.


 


2- تعریف آرایه به صورت همروند


از دیگر ویژگی های جالب توجه نسخه 7.1 زبان برنامه نویسی محبوب PHP تعریف آرایه به صورت همروند می باشد. برای نمونه، به مثال زیر توجه کنید:


["a" => $a, "b" => $b, "c" => $c] = ["a" => 1, "b" => 2, "c" => 3];

اگر دستور زیر را اجرا کنیم، خروجی به صورت زیر خواهد بود:


var_dump($a,$b);// output: int(1) int(2)

 


3- نوع داده Iterable Type


این نوع داده ( data type ) یک نوع داده جدید در PHP 7.1 محسوب می شود که در حقیقت یک نوع داده قوی تر از array می باشد.


گستره این نوع داده، کلاس ها را هم در بر گرفته و می توان گفت هر کلاسی که در PHP تعریف می شود، در حقیقت فرزند iterable است. یا به عبارت دیگر، iterable یک سوپر کلاس ( super class ) در پی اچ پی شده است.


 


4- اضافه شدن مقدار خروجی void


تعیین نوع خروجی برای اولین بار در PHP 7 معرفی شد ( که البته در زبان های برنامه نویسی سطح بالا اتفاق جدیدی نبود، تنها پی اچ پی را به یک زبان مدرن نزدیک تر کرد. ). در آخرین نسخه منتشر شده PHP، نوع داده void هم به این خروجی ها اضافه شد تا شباهت پی اچ پی به یک زبان سطح بالای مدرن، به بیشترین حد خود برسد.


 


 


function dump($objectModel): void
{
var_dump($objectModel);
}

 


5- دسترسی به ثابت های کلاس


این ویژگی، دسترسی به ثابت های کلاس، شاید در نگاه اولیه، تغییر چشم گیری به نظر نرسد. اما گام بسیار بلندی است که توسعه دهندگان PHP برای ایجاد یک زبان برنامه شی گرای سطح بالا برداشته اند.


در برنامه نویسی بسیار پیش می آید که شما ثابت هایی در یک کلاس خاص تعریف می کنید و نمی خواهید که این ثابت ها از خارج کلاس قابل دسترسی باشند. تا قبل از این نسخه، نگارش کدی به شکل زیر ممکن نبود.


 


 


class Test
{
protected const TEST = 'test';
}

 


6- کنترل خطای چندگانه ( multiple catching )


این ویژگی در اکثر زبان های شی گرای سطح بالا مانند c# یا جاوا، وجود داشته است که انعطاف بسیار زیادی را برای برنامه نویسان فراهم می کند. حال با اضافه شدن این ویژگی به PHP نسخه 7.1، این قابلیت و انعطاف پذیری برای کدنویسان این زبان نیز فراهم آمده است. امکان کنترل بیشتر بر روی خروجی کد، پیش بینی مقدار بازگشتی دقیق تر و انعطاف در نگارش کدها، از جمله ویژگی های جدیدی است که با این امکان برای برنامه نویسان PHP به ارمغان آمده است.


 


try {
$test->testFunc($testParam);
} catch (Exception1 $ex) {
...
} catch (Exception2 $e) {
...
}

 


7- اجازه به کار بردن رشته در عملیات ریاضی را ندارید!


دیگر خبری از string در عملیات منطقی و ریاضی نیست! بله، با قوی تر شدن انقیاد داده ( data binding ) در PHP 7.1 دستوری مانند دستور زیر


var_dump("1" + "2  with a string");

که در نسخه های قبلی پی اچ پی معتبر بوده و خروجی معادل خروجی زیر را داشت،


 


در نسخه جدید PHP دیگر معتبر نیست و هشدار Notice: A non well formed numeric value encountered را در پی خواهد داشت.


بنابراین شما به عنوان برنامه نویس مجبور هستید نوع داده خود را قبل از به کار گیری در عملیات ریاضی تعیین کنید. ناگفته نماند که شما همچنان خروجی معبتری را دریافت خواهید کرد، ولی بهتر است نحوه کدنویسی خود را اصلاح کنید. چرا که به احتمال بسیار زیاد در نسخه های آینده PHP دیگر به کلی با خطاهای کشنده از سمت پی اچ پی روبرو خواهید شد.


 


 

محتوای آخرین دربهای گشوده شده
  • یک باک بنزین 206 معادل 75000 ت بوسیله کلیدک
  • 45000 تومان وجه نقد رایج مملکت بوسیله کلیدک
  • بن خرید یک عدد پیتزا American معادل 35ت بوسیله کلیدک
  • دو عدد  کارت سبز بوسیله کلیدک
  • دو روز ناهار میهمان شرکت به انتخاب خودتان معادل هر نهار ۳۰ ت بوسیله کلیدک
  • بن خرید یک عدد پیتزا American معادل 35ت بوسیله کلیدک
  • بن خرید یک عدد پیتزا American معادل 35ت بوسیله کلیدک
  • 45000 تومان وجه نقد رایج مملکت بوسیله کلیدک
ارسال درخواست دوره یا محتوای آموزشی