بررسی و مقایسه نسخه های مختلف php

بررسی و مقایسه نسخه های مختلف php

امید صادقی ادمین
مدت زمان مطالعه: 15 دقیقه 05 اردیبهشت 02

در این مقاله قصد داریم به معرفی و مقایسه نسخه های مختلف php بپردازیم؛ اما ابتدا بهتر است با php و ویژگی های آن آشنا شویم.

php چیست؟

php مخفف عبارت Hypertext Preprocessor با معنای پیش پردازنده فرا متن است که یک زبان برنامه نویسی شیء گرا است که برای طراحی وب سایت مورد استفاده قرار می گیرد. این زبان برنامه نویسی برای اولین بار در سال 1995 توسط Rasmus Lerdorf با نوشتن تعدادی اسکریپت ایجاد شد. در حال حاضر توسعه ی این زبان برنامه نویسی، بدست گروه php انجام می شود.

php یک زبان برنامه نویسی سمت سرور است. سمت سرور بودن یک زبان به این معنا می باشد که صفحات آن ابتدا توسط سرور پردازش می شوند و سپس خروجی توسط کدهای html و جاوا اسکریپت برای کاربر ارسال می شود.

php در اصل یک زبان تفسیر شونده برای طراحی وب سایت است که با آن وب اپلیکیشن طراحی می کنند. این وب اپلیکیشن ها تعاملی هستند و قابلیت هایی مانند سطح دسترسی مختلف کاربران، پنل کاربری و ... را دارند. کدهای php به وسیله یک سرور وب که نرم افزار php روی آن نصب است، تفسیر می شود.

هنگامی که صحبت از تفسیر کدها می شود، منظور بررسی و اجرای خط به خط کدها می باشد. برای مثال مفسر جهت تفسیر کدی شامل 100 خط، ابتدا خط اول آن را دریافت کرده و به زبان ماشین ترجمه می کند. اگر خطایی در اجرای آن خط وجود نداشته باشد، مفسر به سراغ خط بعد خواهد رفت.

هر چند که روش کامپایل کد و بررسی کل کدهای نوشته شده سریعتر است؛ اما خطایابی برای زبان های مفسری بسیار ساده تر از زبان های کامپایلری است.

php یک زبان سطح بالا محسوب می شود. زبان سطح بالا به این معنا است که به زبان انسان نزدیکتر است. در حالی که زبان های سطح پایین بیشتر به زبان ماشینی یا صفر و یک نزدیک هستند و درک آن ها برای انسان دشوارتر است.

ساخت صفحات وب داینامیک

پیش از استفاده از زبان هایی مانند php صفحات وب سایت فقط با کدهای HTML  و CSS طراحی می شدند. به این ترتیب ایجاد تغییرات در صفحات بسیار دشوار بود و تنظیمات پیشرفته یا داشبوردی برای ایجاد تغییرات وجود نداشت که این روش را در اصطلاح استاتیک می نامند. اما با به وجود آمدن زبان هایی مانند php و با طراحی صفحات داینامیک، این مشکل برطرف شد.

مزایا و ویژگی های زبان php

اکنون که تا حدودی با گذشته و نحوه فعالیت زبان php آشنا شدیم، برای درک بهتر اهمیت این زبان برنامه نویسی، بهتر است با مزایا و ویژگی های آن آشنا شویم.

  • امنیت بالای وب سایت های طراحی شده با php در برابر حملات و مهاجمان وب، در کنار سرعت بالای این وب سایت ها یکی از مزایای این زبان است.
  • یکی از مهم ترین ویژگی های زبان php این است که زبانی کراس پلتفرم (Cross Platform) است. به این معنا که در انواع پلتفرم ها نظیر ویندوز، لینوکس، مکینتاش و ... قابل اجرا می باشد. همچنین فرآیند رفتن به پلتفرمی دیگر به سادگی و با کمترین تغییرات قابل انجام است.
  • مزیت دیگر این زبان، سازگاری با وب سرورهای شناخته شده و مطرح است. این زبان با وب سرور های محبوبی مانند Apache و IIS سازگار است و از دیتابیس های مختلف مانند MySQL، SQLite، Oracle و ... پشتیبانی می کند و ارتباط پرسرعت و راحتی با این دیتابیس ها دارد.
  • شیء گرا بودن php قابلیتی است که از دوباره نوشتن کدها جلوگیری می کند و سرعت برنامه نویسی را افزایش می دهد و همچنین امکانات زیاد دیگری به کاربران می دهد.
  • طراحی سایت با php از انعطاف پذیری بالایی برخوردار است و پیکربندی آن وابسته به نیاز طراحان انجام می شود.
  • همچنین سطح بالا بودن و سادگی php از دیگر نقاط قوت این زبان است. علاوه بر ساده بودن، وجود آموزش ها و مستندات فراوان در اینترنت، باعث رشد و افزایش کاربرد زبان php شده است.
  • مزیت دیگر این زبان نسبت به رقبای خود، رایگان بودن آن است. این ویژگی در کنار اپن سورس بودن زبان php باعث ارتقا یافتن و بهبود کدهای این زبان برنامه نویسی می شود.

کاربرد زبان php

پیش از این گفتیم که هدف اصلی استفاده از زبان php طراحی صفحات وب و وب اپلیکیشن است. اما کاربرد و توانایی های آن تنها به طراحی وب سایت خلاصه نمی شود. php برای ساخت نرم افزارهای دسکتاپ، ساخت گرافیک، ساخت قالب و ساخت ربات های تلگرامی نیز استفاده می شود.

قابلیت های برنامه نویسی با زبان php بسیار زیاد است. لاگین و ورود به حساب کاربری، ایجاد گالری، ایجاد نظرسنجی و ... همگی از قابلیت های این زبان هستند.

چند نمونه از پرطرفدارترین قابلیت های این زبان طراحی و ساخت صفحات داینامیک، ارتباط با دیتابیس و ویرایش آن، امکان کار با Cookie و Session ها، رمز گذاری اطلاعات و تولید و ویرایش فایل هایی با فرمت های txt، pdf و ... است.

تفاوت ورژن های مختلف php

Php نسخه های مختلفی دارد که باعث به وجود آمدن سوالات مهمی می شود. کدام یک از نسخه های آن را استفاده کنیم؟ این نسخه ها چه تفاوتی با یکدیگر دارند؟

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

نسخه دوم php در سال 1997 توسط Lerdorf ایجاد شد و پس از بازنویسی موتور پردازشی php در سال 1998 نسخه سوم آن نیز تولید شد. در هنگام عرضه همین نسخه بود که عبارت Hypertext Preprocessor جایگزین عبارت  Home Pageشد. منظور از این عبارت، این است که قبل از نمایش اطلاعات به فرم html به کاربر، پردازش آن ها توسط php انجام می گیرد.

پس از open source شدن زبان php به منظور توسعه ی آن، در سال 2000 شرکت zend هسته اصلی زبان php را بازنویسی کرد و با عنوان نسخه چهارم عرضه کرد.

در سال 2004 زبان php دوباره بروزرسانی شد. در این بروزرسانی نسخه پنجم این زبان با تغییرات زیادی که در آن به وجود آمده بود عرضه شد. چند نمونه از این تغییرات شامل پشتیبانی و ارتباط بهتر با پایگاه داده و همچنین پشتیبانی از کدنویسی شیء گرا بود. php توانست با امکاناتی که ارائه می کرد توجه برنامه نویسان را جلب کند و محبوبیت بیشتری کسب کند.

در نسخه ششم php تیم توسعه آن تلاش کردند تا پشتیبانی از Unicode را به آن اضافه کنند تا از همه زبان های دنیا پشتیبانی کند. در نهایت این تلاش نتیجه مطلوبی از نظر توسعه دهندگان نداشت و آن ها توسعه این نسخه را متوقف کردند.

در سال 2015 نسخه هفتم این زبان برنامه نویسی عرضه شد که از بهترین نسخه های php است و از بهترین بروزرسانی های این زبان برنامه نویسی به شمار می رود که قابلیت های جدید بسیاری به آن افزود. بهبود عملکرد، کاهش استفاده از حافظه، سرعت بسیار بالاتر از نسخه های قبلی، چند نمونه از تغییرات مهم ایجاد شده در این نسخه هستند.

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

ویژگی های php4

  • php4 نسبت به نسخه های قبلی خود، از مدیریت منابع بهتری برخوردار است. علت بهبود مدیریت منابع این بود که با رشد زبان php، تیم توسعه دهنده آن نسبت به مکانیک های این زبان دیدگاه تازه ای یافتند.
  • این نسخه تا حدودی قابلیت های شیء گرایی را پشتیبانی می کرد. این سطح از شیء گرایی بسیار ضعیف بود اما توانست تا حدودی باعث جلب توجه برنامه نویسان شود.
  • پشتیبانی از Session ها در این نسخه کاملا متفاوت از نسخه های قبلی بود. در این نسخه برنامه نویسان می توانستند کاربران و خواسته های آن ها را بطور غیر موازی و به سادگی ردگیری کنند.
  • رمز گذاری این نسخه به کمک کتابخانه MCrypt و بطور کامل و hash شده انجام می شد.
  • پشتیبانی از جاوا، از قابلیت های جدید این نسخه بود که آن را بسیار قدرتمندتر از نسخه های پیشین می کرد.
  • امکان استفاده از php در کنار وب سرور IIS به کمک پشتیبانی از ISAPI در نسخه php4 به این زبان افزوده شد.
  • پشتیبانی از COM/DCOM که به کاربران قابلیت دسترسی به اشیاء COM را می داد از دیگر ویژگی های این نسخه بود.

قابلیت های بالا تنها بخشی از ویژگی های نسخه php4 است.

ویژگی های php5

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

  • قابلیت های شیء گرایی وسیع، پیشرفته و قابل قبول، مهم ترین ویژگی این نسخه از php بود. توابع سازنده و مخرب، توابع انتزاعی، تکثیر شیء، حوزه متغیرها و ... از جمله ویژگی های افزوده شده به این نسخه بودند.
  • مدیریت خطاها یکی از ویژگی‌های اضافه شده در این نسخه بود که دشواری های مدیریت دستی خطاها را از بین می برد.
  • پشتیبانی گسترده و قابل قبول از وب سرورها و XML در این نسخه ارائه شد. به کمک کتابخانه libxml2 امکان پشتیبانی از XML فراهم شد و همچنین توابعی جدید برای تغییر در XML ارائه شدند.
  • پشتیبانی از دیتابیس SQLite ویژگی دیگری بود که در این نسخه ارائه شد. به کمک این ویژگی، پیچیدگی های مدیریت دیتابیس برای کاربران کاهش یافت.

با ارائه این نسخه از php به دلیل قابلیت های شیء گرایی آن، محبوبیت این زبان بسیار بیشتر از هر زمان شد.

ویژگی های php6

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

ویژگی های php7

استفاده از موتور Zend Engine 3 در ین نسخه مهم ترین بروزرسانی آن نسبت به نسخه های پیشین بود. این ویژگی باعث کاهش مصرف رم تا 50% شد.

سایر ویژگی های مهم در نسخه php7 به شرح زیر هستند:

  • سرعت دوبرار نسبت به نسخه پنجم با افزودن PHPNG
  • استفاده از منابع و رم کمتر
  • پشتیبانی از ماشین های معماری 64 بیتی
  • رعایت سلسله مراتب و افزایش محدوده  Exception ها
  • بهره مندی از api های مختلف برای ایجاد اعداد رندوم و امن
  • اعلان گروهی use
  • اپراتورها یا عملگرهای جدید ?? و ó
  • تعریف نوع داده های ورودی به توابع
  • تعریف نوع متغیر بازگشتی توابع
  • ...

نسخه php7 شامل ورژن های متفاوت 7.2، 7.3 و 7.4 است که هرکدام تفاوت هایی نسبت به دیگری دارند.

چند نمونه از ویژگی های نسخه php7.2:

  • اشاره جدید object type
  • فرمت سدیم جدید
  • روش چکیده مهم
  • گسترش نوع پارامتر

چند نمونه از ویژگی های نسخه php7.3:

  • سرعت این نسخه بالاتر از تمام نسخه های پیشین خود است.
  • توابع چند بیتی
  • پیشرفت hash رمز عبور Argon2

چند نمونه از ویژگی های نسخه php7.4:

  • این نسخه آخرین نسخه پیش از php8 است که تمامی ویژگی های اضافه را داراست.
  • توابع Arrow
  • قابلیت Preload برای بهبود عملکرد
  • سفارشی سازی object serialization

این موارد تنها برخی از ویژگی های نسخه های مختلف php7 هستند. هر کدام از این ورژن ها، دارای کارایی و قابلیت های ویژه خود هستند که می توانید از آن ها بهره مند شوید.

 

ویژگی های php8

این نسخه جدیدترین نسخه از php است که معروف ترین قابلیت آن کامپایلر JIT است. این قابلیت تاثیر بسیار زیادی در سرعت php و عملیات هایی که نیاز زیادی به cpu دارند می گذارد. این قابلیت جدید می تواند مشکلات overflow، مدیریت حافظه و ... را تا حد زیادی کاهش دهد.

تست هایی برای مقایسه نسخه های مختلف php انجام شده است که کارایی و تفاوت های آن ها را بیان می کنند. تست Kinsta یکی از این تست ها می باشد که برای مقایسه php5 و php7 آن را بررسی می کنیم.

نسخه هایی که در تست هستند شامل php5.6 و php7.0، php7.1، php7.2 و php7.3 می باشند.

در این تست برای پلتفرم وردپرس، تعداد درخواست های دریافت و پردازش شده بر حسب ثانیه در وردپرس 5، برای نسخه  php7.3 بیشتر از سایر نسخه ها می باشد. نکته قابل توجه این است که این نسخه نسبت به نسخه 5.6 تقریبا 3 برابر بیشتر درخواست گرفته و آن ها را پردازش می کند. این سرعت برای تعداد کاربران زیاد بسیار مناسب تر از نسخه های پیشین خود می باشد.

همچنین برای پلتفرم WooCommerce، این تست نتیجه ای مشابه داشت و php7.3 سریعتر از دیگر نسخه های است.

این تست برای فریم ورک ها و سیستم های مدیریت محتوا مانند Joomla!، Drupal و ... نتیجه ای مشابه دارد و همواره نسخه php7.3 از سایر نسخه ها سریعتر است.

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

برچسب ها :
دسته بندی ها :