PHP 7.1 در انتهای سال 2016، ۱ سال پس از رونمایی از PHP 7 منتشر شد (PHP زبانی است که بیش از 20 سال در برنامهنویسی وب بیشترین کاربرد را داشته است که با معیارهای دنیای فناوری، یک زبان باستانی بهحساب میآید). اما باتوجه بهبرخی منابع، پذیریش نسخهٔ ۷ زبان پیاچپی از طرف دولوپرهای وبسایت بسیار اندک بوده که چنین مسئلهای کمی تعجب برانگیز است!
اگر این رشد بهکارگیری آهسته را کنار بگذاریم، PHP 7 در زمینهٔ مدیریت دیتاتایپها، مشخصسازی دادۀ بازگشتی توابع و مدیریت خطاها بهمراتب بهتر از نسخههای قبلیاش است (همینطور بهبودهای قابلذکری در عمگر مقایسه (<=>) و همینطور افزوده شدن اپراتور ?? -مانند زبان سیشارپ- صورت پذیرفته است).
جذب و بهکارگیری PHP 7
براساس تحقیقات وبسایت W3Techs، حدوداً ۸۲.۶ درصد از سایتهای دینامیک بااستفاده از زبان PHP نوشته شدهاند و این در حالی است که کمتر از 5 درصد این نوع سایتها، بهنوعی از PHP 7 بهره میبرند و باقی بر ترکیبی از PHP 4 و PHP 5 تکیه دارند (بهتر است بدانید که PHP 6 هیچگاه منتشر نشد چراکه تلاش ناموفقی برای افزودن Unicode در این نسخه صورت گرفت که باعث بدنامی زیادی شد و بههمین دلیل دولوپرهای این زبان تصمیم گرفتند که از 7 بهعنوان نسخهٔ بعدی این زبان استفاده کنند). حال سؤالی که به ذهن میرسد این است که چرا رشد جذب و بهکارگیری این نسخه بسیار آهسته و کند است؟
در پاسخ به این سؤال بایستی گفت تغییرات بهاصطلاح Backward-Incompatible در نسخهٔ ۷ زبان پیاچپی نسبت به نسخههای قبلی یکی از عمدهترین این دلایل است؛ صفحهای طولانی در وبسایت رسمی PHP موجود است که تمامی ناسازگاریهای بین نسخهٔ 5.6 و 7 را لیست کرده است.
علاوه بر این مورد، صفحه دیگری نیز تمامی قابلیتهای منسوخ شده در PHP 7 را ارائه میکند که کار را برای برخی از دولوپرها به جهت بهروزرسانی و استفاده از آخرین نسخهٔ PHP مشکل میسازد.
با این تفاسیر، طبیعی بهنظر میرسد که سایت دولوپرها وقتی پای مهاجرت از نسخهٔ ۵.۶ به ۷ بهمیان میآید، کمی دستبهعصا عمل کنند چراکه وارد شدن هرگونه خدشه در عملکرد وبسایت مشتریانشان، بهراحتی میتواند اعتبار و درآمدزایی خودشان یا شرکتشان را تحتالشعاع قرار دهد.
برای مثال، اگر سایت شما از اکستنشن MySQL و توابعی که با _MySQL شروع میشوند استفاده میکند، به مشکل برخواهید خورد چراکه این اکستنشن در PHP 7 تعبیه نشده است و البته از PHP 5.5 به بعد هم منسوخ شده بود (البته لازم به ذکر است که هنوز هم در نسخههای 5.5 و 5.6 میتوانید از چنین اکستنشنی استفاده کنید، اما بهتر است از این کار صرفنظر کنید).
شرکتهای هاستینگ چندین سال پیش با مشکلات نسخههای متفاوت PHP و همچنین برخی فیچرهای بهاصطلاح Depricated این زبان دست و پنجه نرم میکردند و از همین روی بسیاری از آنها برای رفع مشکل، این مسئولیت را با امکان انتخاب نسخهٔ PHP، به وبمسترها محول میکردند (برخی از این شرکتها در قراردادهایشان در مورد PHP تذکراتی مانند «مسئولیت عدم کارکرد وبسایت به دلیل تغییر نسخهٔ PHP، به عهدهٔ مشتری میباشد.» و ... میدهند.)
لذا یکی از دلایلی که دولوپرها بهطور عمده از PHP 7 در سایتهای فعلیشان استفاده نمیکنند این است که از صحت عملکرد سایتشان مطمئن نیستند و نمیخواهند پروژههای موجودشان را خراب کنند.
ناسازگاری در اینستالرهای پکیجهای اپنسورس PHP 7
چندین اینستالر بهاصطلاح Third-Party برای نصب پکیجهای اپنسورس PHP وجود دارد که حق امتیاز آنها در اختیار شرکتهای هاستینگ است که از آن جمله میتوان به Installatron ،Fantastico و Softaculous اشاره کرد. این شرکتها برای کاربر اجازهٔ نصب هر یک از پکیجهای (Package) اپنسورس PHP را فراهم میآورند به شکلی که زمان لازم و زحمت کار بسیار کاهش مییابد. در حال حاضر هم چیزی در حدود بیش از 200 پکیج اپنسورس برای PHP موجود است که قابلیت نصب و حذف سریع این پکیجها، استفاده از این ابزارها را لذتبخش کرده است.
اما اینجا، دوباره PHP 7 قد علم کرده است چراکه سازگاری کامل همهٔ این پکیجها زمانبر خواهد بود! برای مثال، درحالحاضر شرکت Installatron اعلام کرده است که از نسخههای ۷ و ۷.۱ زبان PHP پشتیبانی نمیکند!
سخن پایانی
از منظر فنی، PHP 7 یک نسخهٔ قابلتوجه است؛ در PHP 7 سرعت اجرا بسیار بهینهتر و سریعتر شده است؛ برای مثال، با PHP 5.6 اسکریپتی که نزدیک به 100 میلیثانیه زمان نیاز دارد تا اجرا شود، PHP 7 این زمان را به نصف -یعنی ۵۰ میلیثانیه- کاهش داده است. این افزایش سرعت در سایتهای پیچیدۀ PHP بسیار کارا است؛ مخصوصاً اگر زمانهایی را که مرورگر برای دریافت سایر اجزای صفحه مانند jQuery و CSS میگیرد را هم بهحساب آوریم.
به نوبهٔ خود، وردپرس استفاده از PHP 7 را پیشنهاد میکند که باعث بازدهٔ 70 درصدی در سرعت سایت خواهد شد (هرچند خود این پلتفرم بر روی نسخهٔ پیشین PHP اجرا میشود). این مورد میتواند در نتایج جستوجوی گوگل به شما کمک کند چراکه گوگل -و سایر موتورهای جستجو- به سرعت بارگذاری سایت در رتبهبندی نتایج اهمیت زیادی میدهند.
با این حال، آنهایی که از نسخههای پیشین PHP استفاده میکنند بهتر است در بهکارگیری PHP 7 اندکی محتاط باشند؛ گرچه آخرین نسخه چندین مزیت قابلتوجه ارائه میکند، اما درنظر داشته باشید که مشکلات سازگاری هم در کنار این مزایا وجود دارند ولی اگر میخواهید این بهروزسانی را انجام دهید، خود را برای کلی کار -ریفکتورینگ- آماده کنید.
اگر شما هم جزو دولوپرهای PHP هستید، میتوانید درصورتیکه به نسخهٔ ۷ این زبان مهاجرت نمودهاید، نظرات و دیدگاههای خود را با ما و سایر کاربران سکانآکادمی بهاشتراک بگذارید.