ویژگیهای ورژن PHP ٧.٣
انتشار PHP ٧.٠ با ویژگیهای متفاوت آن، کمک بسیاری به بهبود عملکرد و امنیت اپلیکیشنهای PHP کرد. با بهروزرسانی PHP به ورژن PHP ٧.٣، ویژگیها و عملکردهای جدیدی به table ها اضافه شد، معایب نسخهی قبلی برطرف شده و سرعت کارایی آن نیز بهبود یافت.
در ادامه این مقاله به بررسی عناصر جدید اضافه شده به PHP ٧.٠ و ویژگیهای آنها میپردازیم.
PHP چیست و چرا برای برنامهنویسان اهمیت بسیاری دارد؟
زبان PHP محبوبترین زبان برنامهنویسی سمت سرور است که توسط برنامهنویسان بسیاری در حال استفاده است. خیلی خلاصه بخواهیم بگوییم، PHP یک زبان برنامهنویسی متنباز است که برای مقاصد مختلف به کار گرفته میشود اما بیشتر از همه برای توسعه وب یعنی ایجاد وبسایت و وب اپلیکیشن مناسب است.
این زبان اسکریپت نویسی اولین بار در سال ۱۹۹۴ توسط راسموس لردورف توسعه و به کار گرفته شد. درواقع هدف راسموس استفاده شخصی از این زبان بود و به همین دلیل نام «Personal Home Page Tools» یعنی «ابزارهای شخصی صفحه خانه» برای آن انتخاب شد که PHP همان مخفف آن است.
بهصورت کلی زبان PHP زبانی مناسب و آسان برای شروع یادگیری برنامهنویسی است. با این وجود PHP دارای ویژگیهای بسیار پیشرفته نیز هست که برنامهنویسان حرفهای میتوانند از آن استفاده کنند. صرفنظر از اینکه سطح تخصص و دانش شما چه میزان هست، در صورتی که در حال راهاندازی وبسایت هستید یا مدیریت کسبوکارتان با یک وبسایت سروکار دارد، داشتن آشنایی با کدهای PHP میتواند در خیلی از موارد به کمک شما آید.
زبان PHP با اکثر سیستمعاملها سازگار است و امکان اجرای آن بر روی سیستمعاملهای مختلف از جمله لینوکسی و ویندوزی فراهم است. PHP همچنین میتواند با دیتابیسهای معروف مثل MySQL به کار گرفته شود و با آن محتوای داینامیک تولید کرد.
تغییرات کلیدی معرفی شده در PHP ٧.٣
در بین تاریخچه درازمدت بهروزرسانیهای زبان PHP، نسخهی ۷.۳ جدیدترین نسخهی منتشر بوده که تا تاریخ ۶ Dec ٢٠٢١ از لحاظ امنیتی پشتیبانی میشود. تغییرات مفید بسیاری در این نسخه ایجاد شده که حال به برجستهترین و مهمترین آنها میپردازیم:
-
افزایش چشمگیر در کارایی و سرعت
زمان انتشار PHP ٧ ادعا میشد که این نسخه از PHP دارای سرعت دو برابر نسبت به نسخه ۵.۶ آن است اما پس از انتشار نسخهی ۷.۳، مشاهده شد که نسخهی ۷.۳ PHP از نسخهی ۷ آن ۳۰٪ سریعتر است. درواقع نسخهی ۷.۳ PHP، رکوردهای بنچمارک را جابهجا کرد.
ورژن PHP ٧.٣ حتی ۱۰٪ از نسخهی ۷.۲ آن سریعتر است؛ یعنی مهم نیست تا قبل از این از چه نسخهای استفاده میکردهاید. با ارتقای نسخهی PHP وبسایت خود به ۷.۳، یقیناً سرعت پردازش و بارگذاری وبسایتتان بیشتر میشود. سرعت پردازش بیشتر برابر است با کارایی و پرفرمنس بیشتر که کارایی بیشتر منجر به بهبود تجربهی کاربری بازدیدکنندگان وبسایت میشود. برای مثال وقتی فایرفاکس سرعت صفحه فرود خود را ۲.۲ ثانیه کاهش داد، میزان دانلود فایرفاکس ۱۵.۴٪ افزایش یافت.
کاهش سرعت صفحات وبسایت موجب از دست دادن مشتریان احتمالی و مراجعهی آنها به سرویسی با سرعت بیشتر میشود. خوشبختانه با تغییرات انجام شده در نسخهی جدید PHP، سرعت وبسایتهای طراحی شده با این زبان برنامهنویسی بیشتر شده است. علاوه بر آن بهرهمندی از زبان برنامهنویسی پرسرعتتر باعث میشود توسعهدهندگان بهرهوری بیشتری هنگام کدنویسی داشته باشند.
-
سینتکسهای منعطف Heredoc و Nowdoc
بهصورت کلی نحو یا سینتکسهای Here Document برای زمانی سودمند هستند که در رشتههای طولانی استفاده میشود. البته این سینتکسها در گذشته نقطه ضعفی داشتهاند:
در گذشته
- $query = <<<SQL
- SELECT *
- FROM
table
- WHERE
column
= true; - SQL;
حال
- $query = <<<SQL
- SELECT *
- FROM
table
- WHERE
column
= true; - SQL;
زمانی که قصد استفاده از Heredoc را در یک متن تودرتو داریم، این مورد بسیار کاربردی خواهد بود. تمامی فاصلههای قرار داده شده مقابل Closing Marker در تمام خطها خنثی و نادیده گرفته میشوند.
نکته مهم: به دلیل این تغییر ایجاد شده ممکن است بعضی از Heredoc های استفاده شده از قبل، زمانی که در بدنه از closing marker مشابه استفاده میکنند، با خطا مواجه شوند. برای مثال:
$str = <<<FOO
abcdefg
FOO
FOO;
// Parse error: Invalid body indentation level in PHP ٧.٣
-
امکان بکار بردن کاما در توابع فراخوان (Function Calls)
Trailing commas در واقع، کاماهایی هستند که میتوان آنها را به لیست عناصر، پارامترها یا ویژگیها اضافه شوند. با این امکان، میتوان کدهایی تمیزتر و خواناتر داشت.
این ویژگی، پیش از این در آرایهها قابل استفاده بود و هماکنون همراه با توابع فراخوان نیز قابل اجراست، البته توجه داشته باشید که بر توابع definition هیچ تأثیری ندارد.
مثال:
$compacted = compact(
‘posts’,
‘units’,
);
سایر تغییرات ایجاد شده
علاوه بر موارد فوق، تغییرات مهم دیگری نیز برای توسعهدهندگان در نسخهی PHP ٧.٣ ایجاد شده است که بهاختصار عبارتاند از:
- گزارش بهتر و دقیقتر از type error ها
- نمایش بهتر خطاهای JSON
- پشتیبانی تابع list از references
- نمایش اخطار برای تابع compact در صورت استفاده از متغیر تعریف نشده
- منسوخ شدن تمامی Case-insensitive constant ها
- افزودن پارامترهای جدید برای تنظیم کوکی و همچنین پشتیبانی از آرایههای مختلف در این بخش
- بهروزرسانی نسخهی PCRE به نسخه ۲ و افزایش سازگاری آن
- ایجاد تغییر در نحوهی عملکرد String Search
- بهروزرسانی و بهینهسازیهای فراوان در بخش MBString
- ارائه بهروزرسانیهایی برای هندلر FPM در بخش ثبت گزارش و خروجی Worker ها
- بهینهسازیهایی در بخش نام و توضیحات و عملکرد حذف فایل ویندوزی
- منسوخ سازیهای مختلف؛ برای مثال در خصوص موارد مرتبط با تابع fgetss و assert و mbstrings و …
PHP بهعنوان محبوبترین زبان اسکریپتنویسی متنباز، به دلیل بهروزرسانیهای متعدد و ارتقا در تجربه کاربریاش نیز بسیار مشهور است. با انتشار نسخهی جدید PHP، امکانات جدیدی به آن اضافه شده، عملکرد آن نیز بهبود یافته و کدنویسی را برای کاربران خود راحتتر نموده است. یکی از مهمترین موارد در این بهروزرسانی، افزایش چشمگیر امنیت در استفاده از این زبان است.