درباره php7

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

بلافاصله بعد از تست شدن توسط وب سایت ها و پلتفرها و نرم افزارهای مرجع نشانه های زیادی از تطابق وعده های داده شده توسط توسعه دهندگان php.net با نتایج آزمایش ها مشاهده شد.

با تمرکز بر روی هسته PHP و تغییرات در نحوه ساختار داخلی فرآیندها ، جداول هش (hash-table) کارایی بهتری یافته اند و ساختمان داده ها از اندازه بسیار کمتری برخوردار هستند. این تغییرات موجب شده است که میزان رم بسیار کمتری اشغال شود و در نتیجه سرعت عملیات ها افزایش یابد.

 

قبل از معرفی قابلیت های ایجاد شده در PHP7 لازم است چند نکته درباره تغییرات بوجود آمده بیان شود:

۱- ترتیب آرگومان‌های توابع در نسخه جدید تغییری نمی‌کند.

۲- توابع به اشیاء اسکالر ( ()objects ->methods ) تبدیل نمی‌شوند و مطابق قبل خواهند بود.

۳- دستور goto که در php 5.3 اضافه شده است سرجای خود می‌ماند!

 

مهم‌ترین قابلیت‌های جدید php7

۱- اعلان گروهی use

 

۲- اپراتورهای جدید ?? و <=>

 

۳- امکان کچ کردن آنچه که باعث خطای مهلک می‌شود.

 

 

۴- وصل کردن توابع بدون اسم به یک آبجکت در runtime

 

۵- همانند زبان‌های متداول مثل C می‌توانید برای توابع نوع مقدار بازگشتی تعریف کنید.

 

نکته: PHP اگر امکانش باشد داده خروجی را به نوعی که شما برای تابع تعریف کرده‌اید تبدیل می‌کند، البته اگر بشود.

 

۶- تعریف نوع داده‌های ورودی در توابع

 

۷- تعریف کلاسِ بدون اسم همانند توابع بدون اسم

 

در نهایت کامپایلر PHP7 کاملا بازنویسی شده و در قسمت مدیریت مموری هم بیشتر سعی شده با stack کار بشود تا heap، که طبیعتا سرعت پردازش سریع‌تر خواهد شد.

در نهایت تست انجام شده برای آشکار ساختن تغییرات ساختار داخلی PHP7 انجام شده که در تصاویر زیر قابل مشاهده است:

php7-is-coming-64-638php7-is-coming-65-638

 

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