تازه‌هامقالات

ارتقا به PHP 5.4 آری یا خیر


با توجه به ارائه  PHP 5.4 این سوال مطرح می‌گردد که آیا ارتقا به PHP 5.4 مفید خواهد بود؟

همیشه ارتقا به نسخه‌های جدید توسط تیم توسعه و پشتیبانی زبان‌های برنامه نویسی توصیه می‌گردد، اما این‌بار تیم توسعه PHP بدون توجه به میزان استفاده از نسخه‌های متفاوت PHP، استفاده کنندگان را نسبت به به‌کارگیری نسخه جدید PHP 5.4 تشویق نموده‌است، این تیم اعلام نموده‌ ۵ باگ اساسی در این نسخه برطرف شده‌است که در برگیرنده‌ی CVE-2014-1943 نیز می‌باشد.

میزان استفاده از نسخه‌های PHP
میزان استفاده از نسخه‌های PHP

در ادامه قصد داریم برخی تغییرات PHP 5.4 را نسبت به نسخه‌های پیشین بررسی کنیم.

سرعت در PHP 5.4:

سرعت اجرای کدها در PHP 5.4 نسبت به نسخه ۵٫۳ آن تقریبا ۲ برابر شده‌است. دوبرابر شدن سرعت اجرای کد، بهینه‌سازی بالای قواعد زبان برنامه نویسی را می‌طلبد. برای آزمایش این موضوع کافی است یک آزمایش ساده انجام داد.

قطعه کد ساده زیر را در در شرایط مساوی سخت‌افزاری و نرم‌افزاری بر روی یک سیستم با هر دو ورژن اجرا کردیم.

نتیجه باورنکردنی بود، در نمودار زیر شما می‌توانید تفاوت زمان اجرای کد را در در ورژن ۵٫۴ و ۵٫۳ مشاهده نمایید.

سرعت اجرای کدها در PHP 5.4 نسبت به نسخه 5.3 آن تقریبا ۲ برابر

امنیت در PHP 5.4:

بنا به گزارش وب‌سایت رسمی PHP نسخه جدید PHP 5.4 به دلیل رفع باگ‌های زیر، از نظر امنیتی در سطح بالاتری نسبت به نسخه‌های قبل دارد.

ico-metaJSON:
ico-meta باگ شماره ۶۵۷۵۳ (قابلیت JsonSerializeable برای اکستنشن ماژول‌ها).
ico-metaFileinfo:
ico-meta باگ شماره ۶۶۷۳۱ (فایل: بازگشت نامحدود یا CVE-2014-1943).
ico-meta باگ شماره ۶۶۸۲۰ (out-of-bounds در دسترسی به حافظه fileinfo یا CVE-2014-2270)
ico-metaLDAP:
ico-meta اجرای Implemented ldap_modify_batch
ico-metaOpenssl:
ico-meta باگ شماره ۶۶۵۰۱ (افزودن کلید EC به php_openssl_is_private_key)
ico-metaPgsql:
ico-meta اضافه شدن هشدار برای رمزگذاری‌های خطرناک کاربران و حذف امکان حملات injections  (تزریق) برای توابع ‏pg_insert()/pg_update()/pg_delete()/pg_select()‎.
  • ویژگی‌های برنامه نویسی PHP 5.4:

     

توسعه دهندگان PHP توصیه کرده‌اند از mcrypt_generic_end()‏‎ و ‏mysql_list_dbs()‎ در نسخه ۵٫۴ استفاده نشود. برخی از قابلیت‌های در این نسخه دیگر وجود ندارد که ‌می‌توانید لیست کامل آن‌ها را از این لینک مشاهده نمایید.

امکانات -قابلیت‌ها-  و توابع جدید در PHP 5.4 اضافه شده‌است که عبارتند از:

 ۱.

 امکانات و قابلیت‌های جدید

ico-meta  پشتیبانی از  Traitها
ico-metaاضافه شدن syntax آرایه‌های کوتاه مانند ‏$a = [1, 2, 3, 4]; or $a = [‘one’ => 1, ‘two’ => 2, ‘three’ => 3, ‘four’ => 4];‎
ico-metaاضافه شدنFunction array dereferencing مانند foo()[0]‏‎
ico-meta پشتیبانی از Closureها
ico-meta پشتیبانی از syntax کلاس‌های مانند ‏Class::{expr}()‎
ico-metaاضافه شدن دسترسی اعضای کلاس به نمونه‌ها مانند ‏(new Foo)->bar()‎
ico-meta در دسترس بودن همیشگی ‏<?=‎ بدون نیاز به افزودن short_open_tag در php.ini
ico-metaپشتیبانی از فرمت اعداد باینری
ico-meta ارتقا سیستم خطای parse (مترجم) و warnings (هشدارهای) ناسازگاری
ico-meta امکان ردیابی  فایل‌های در حال آپلود به کمک session extension.
ico-meta امکان گسترش Built-in وب‌سرور در CLI mode.

 ۲.

 توابع جدید در

 ico-meta هسته PHP
ico-meta hex2bin()
ico-meta http_response_code()
ico-meta get_declared_traits()
ico-meta getimagesizefromstring()
ico-meta stream_set_chunk_size()
ico-meta socket_import_stream()
ico-meta trait_exists()
ico-meta header_register_callback()
 ico-meta SPL:
ico-meta class_uses()
 ico-metaSession:
ico-meta session_status()
ico-meta session_register_shutdown()
 ico-metaMysqli:
ico-meta mysqli_error_list()
ico-meta mysqli_stmt_error_list()
 ico-metaLibxml:
ico-meta libxml_set_external_entity_loader()
 ico-metaLDAP:
ico-meta ldap_control_paged_result()
ico-meta ldap_control_paged_result_response()
 ico-metaIntl:
ico-meta transliterator_create()
ico-meta transliterator_create_from_rules()
ico-meta transliterator_create_inverse()
ico-meta transliterator_get_error_code()
ico-meta transliterator_get_error_message()
ico-meta transliterator_list_ids()
ico-meta transliterator_transliterate()
 ico-metaZlib:
ico-meta zlib_decode()
ico-meta zlib_encode()

همچنین در PHP 5.4 برخی از extensions تغییر و یا به‌طور کامل حذف شده‌اند، کارایی توابعی مانند  debug_backtrace()، is_link() و  openssl_encrypt() نیز تغییر کرده‌است.

چه Loaderهایی از PHP 5.4 پشتیبانی می‌کند.

0
برچسب ها

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

ثبت و انتقال دامنه .Com فقط با 117 هزار تومان! #بهترین قیمت در ایران مشاهده قیمت های باورنکردنی
+
بستن