چه اتفاقی برای PHP7 افتاده است ؟

چه اتفاقی برای PHP7  افتاده است ؟

شاید با خودتون فکر می کنید : صبر کن ببینم ، منظورت این نیست که چه اتفاقی برای PHP6 افتاد ؟

اما باید بگم که نه من واقعا دارم به PHP7   اشاره می کنم ، شاید یکم عجیب باشه چون نسخه ای که از قلم افتاد PHP6 بود و نه PHP7  .

یک خلاصه کوتاه برای افرادی که در جریان نیستند ؟

PHP6 در سال 2010 معرفی شد ولی در نهایت متوقف شد و هیچگاه منتشر نشد. بیش تر به خاطر این مسئله بود که ویژگی هایی که در هسته اصلی آن در نظر گرفته بودند برای پیاده سازی بسیار دشوار بوده و علاوه بر این مورد مشکلات دیگری هم بود که در نهایت منجر به توقف کار بر روی PHP6 شد.

خیلی از ویژگی هایی که در PHP6 پیش بینی شده بودند به جای آن در نسخه php5.x قرار گرفتند. این کار توضیح می دهد که چرا در نسخه php5.3 ویژگی های خیلی زیادی اضافه شده بودند.

ورژن PHP6 توسط توسعه دهندگان php.net در نظر گرفته نشد ولی به دلیل اینکه این پروژه خیلی خوب ایجاد گردید و مستندسازی شد ،  هنوز هم اطلاعات خیلی زیادی در صفحه مربوط به این پروژه وجود دارد. همچنین کنفرانس های زیادی توسط توسعه دهندگان php.net در مورد این نسخه  برای جامعه PHP برگزار شد. (حیفشون اومد که این همه زحمت را حذف کنند فقط بی خیالش شدند)

خیلی دور از ذهن بود که از اسم PHP6 در نام گذاری نسخه جدید PHP استفاده شود به دلیل اینکه PHP6 خیلی خوب مستند سازی شده بود و همچنین نسخه جدید تفاوت های بسیاری با نسخه PHP6 داشت. بعد از کشمکش های بسیار تصمیم گرفته شد که نسخه بعدی PHP به نام PHP7 نامگذاری شود.

نسخه PHP7 ارایه شد و هم اکنون در دسترس است !

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

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

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

چندین ویژگی جدید که در PHP7 گنجانده شده است :

  1. کلاس های بی نام ( به صورت عمومی در سایر زبان ها از جمله Java , SCALA وجود دارد )
  2. تعریف دقیق تر نوع ها
  3. پشتیبانی از نسخه 64 بیتی ویندوز
  4. بهبود مدیریت خطاها
  5. بهبود و جدید شدن موتور Zend
  6. ترکیب اپراتورهای مقایسه ای

همه این تغییرات بسیار عالی هستند.

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

پس منظور ما از اینکه چه اتفاقی برای PHP7 افتاده است چه بوده است ؟

PHP سهم عظیمی از درصد وب سایت هایی که از برنامه نویسی سمت سرور استفاده می کنند را دارا می باشد. در هنگام نوشتن این مقاله در حدود 80 درصد وب سایت هایی که از برنامه نویسی سمت سرور استفاده می کنند از PHP بهره می برند.

برای مثال Facebook یکی از بزرگترین استفاده کنندگان از این زبان برنامه نویسی سمت سرور می باشد. Facebook به صورت متوسط در ماه 1.5 میلیارد کاربر فعال دارد.

این نشان می دهد که PHP و توسعه آن نقش مهمی در فضای وب خواهد داشت.

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

جالب تر آن که در حدود 1.1 درصد از وب سایت ها هنوز از PHP4 استفاده می کنند که در سال 2005 به صورت کامل کنار گذاشته شده است.

یعنی در زمان حال به همان اندازه وب سایت هایی از نسخه فسخ شده PHP4 استفاده می کنند که از آخرین نسخه PHP7 بهره می برند.

این آمارها حکایت عجیبی دارند و این قصه از این جا جالب می شود که روزهای پشتیبانی از PHP5.6 که پر استفاده از بقیه است تا آخر دسامبر 2016 به پایان می رسد.

چرا مهاجرت به PHP7 زمان می برد ؟

با توجه به افزایش سرعت و بهبود کارایی در PHP7 این طور برداشت می شود که توسعه دهندگان با اشتیاق زیادی نسبت به به روز رسانی و همچنین اعمال تغییرات لازم در کدهای خود جهت استفاده از آخرین نسخه PHP فعال باشند.

پس چه چیزی از این سرعت می کاهد ؟

عدم تطابق با گذشته

حذف کردن برخی از توابع قدیمی و کنار گذاشتن روش های قبلی از دیدگاه خیلی از برنامه نویسان حرکت خوبی نیست. جنجال های زیادی درباره حذف قابلیت تطابق با گذشته و توابع قدیمی وجود دارد.

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

هاست های اشتراکی

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

منبع اصلی