قابلیت های جدید در PHP7

در اواخر سال ۲۰۱۵ شاهد انتشار نسخه 7 از زبان PHP خواهیم بود. بعد از نسخه 5.6، اگر قصد به روزرسانی PHP را داشته باشیم باید به PHP7 مهاجرت کنیم. حالا PHP6 کجاست، احتمالا باد آن را برده است …

اما واقعیت امر اینست که در سال ۲۰۰۵، تلاش‌هایی برای توسعه نسخه جدید آغاز شد. این نسخه تحت نام PHP6 کار توسعه خود را آغاز کرد. در حین کار بدلیل مشکلاتی که در اجرای یونیکد در PHP بوجود آمد در سال ۲۰۱۰ توسعه آن متوقف شد. اما اینکه چرا نام ورژن جدید، PHP7 شد به این دلیل است که منابع و کتاب‌های زیادی برای آن ورژن متوقف‌شده یعنی PHP6 منتشر شد. این نگرانی وجود داشت که اگر ورژن جدید را همان PHP6 بگذارند ممکن است تداخلی در داکیومنت‌ها و کتاب‌های ریفرنسِ ورژن کار شده در سال ۲۰۰۵ ایجاد بشود. به همین دلیل یک RFC برای انتخاب نام جدید PHP در ورژن جدید آینده ایجاد شد. که در نهایت PHP7 انتخاب شد.

 

قبل از معرفی قابلیت های ایجاد شده در 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

 

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

 

منابع: + +

علی ذوقی

از سال ۸۷ بطور تخصصی برنامه نویس PHP هستم. اوایل با PEAR کار می کردم ولی از سال ۹۱ تاکنون بطور حرفه ای با Yii کار می کنم. از دروپال هم برای پروژه های بزرگ استفاده می کنم. به مباحث فنی سرور و شبکه علاقه خاصی دارم ...

همچنین ممکن است دوست داشته باشید ...

۱۶ واکنش

  1. Griffin گفت:

    سلام من میخواستم این تابستون شروع کنم به یادگیری php الان با توجه به اومدن نسخه جدید به نظر شما موکولش کنم به بعد؟

  2. محسن گفت:

    خدا قوت مهندس.

  3. Aref Sedaghat گفت:

    سلام به نظرتون برای یه php کار نسبتا ماهر بازار کار مناسب وجود داره؟ (با توجه به کثرت برنامه نویسان php)

    • علی ذوقی گفت:

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

  4. رسول گفت:

    سلام خدمت شما
    راستش من بین asp.net و php ماندم تا قبل asp.net کار میکردم راستش دیگه خسته شدم از لایسنس و کرک کردن دلیل دومم اینکه چون تویه شهرستان هستم به خاطر گرانی هاست بازار اون کمه برای همین چند وقتی که درمورد php مطالعه میکنم و شروع یادگیری اون مشکلی هم نداشتم چون خیلی راحت است.

    ولی درمورد بازار کار اون یکم شک دارم
    راستش با سورس باز بودن اون میشه برنامه های تحت وب مثل مدیریت مدرسه و اتوماسیون اداری یا نرم افزارهای انبارداری ساده تحت وب نوشت یعنی استقبال میشه میتونم مشتری پیدا کنم یا برنامه های ساده پردازش تصویر که قبلا میتونستم با #c انجام بدم رو میتونم با php انجام بدم یک مقاله داخل سایت خودتون هم دیدم درمورد پردازش تصویر با php از نظر امنیت به مشکل بر نمی خورم یا محدودیت دارم ممنون میشم پاسخ بدین با تشکر از شما.

    • علی ذوقی گفت:

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

      اما از جهت برنامه نویسی وب طبیعتا phpخودش رو خیلی وقته ثابت کرده هم از جهت قابلیت هم بروزرسانی مداوم

      توی asp شاید خیلی کارها رو لازم نباشه برنامه نویس انجام بده با یه کامپوننت ،براحتی کارهای پیچیده رو انجام میدین ولی توی phpباید همون کارها رو خودتون انجام بدین (البته با استفاده از فریمورک ها این مساله تا حدی برطرف شده )

      در مورد پردازش تصویر و اینطور کارها طبیعتا c# قوی تره در php هم میشه کارهایی کرد اما روی این قسمت phpحساب زیادی باز نکنید

      ازلحاظ امنیت هم، خیلی نکات امنیتی بستگی به کدنویس داره و اگر از فریمورکهای خوب و بروز موجود استفاده کنید مشکلی نخواهید داشت

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

      امیدوارم مفید فایده بوده باشه عرائضم

  5. رسول گفت:

    خیلی ممنون از شما بابت پاسخ خوب و کاملی که دادیم به خیلی از جواب هایم رسيدم
    فقط یک سوال دیگه بابت اون قسمت های پردازش تصویر که گفتين ضعف هایی داره و برای برنامه نویسی حرفه ایی تر میتونم این قابلیت ها رو با ++c برای php اکستنشن بسازم و به فريمورک اختصاصی خودم اضافه کنم یعنی محدودیت ندارم. با تشکر از شما

    • علی ذوقی گفت:

      خداروشکر
      خواهش میکنم
      بله میتونید
      البته نمیدونم دقیقا چه کاری میخواین در بخش پردازش تصویر انجام بدین، شاید نیاز پیدا نکنید ولی در صورت نیاز بله میتونید اکستنشن نویسی کنید

      البته این نکته رو بگم که اکستنشن نویسی برای php نیاز به سرور اختصاصی یا سرور مجازی اختصاصی داره برای استفاده
      در هاستهای اشتراکی نمیتونید از اکستنشن خودتون استفاده کنید

      • رسول گفت:

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

  6. aliakbar گفت:

    با سلام
    براي شروع به يادگيري php چه كتابي را توصيه مي كنيد؟ كتاب انگليسي يا هر چيز ديگر را لطف كنيد معرفي كنيد

    • علی ذوقی گفت:

      سلام بزرگوار
      یکی از بهترین و استاندارد ترین منابع سایت w3schools.com هست.
      خیلی خوب و مرحله به مرحله با این زبان آشناتون میکنه.
      فکر میکنم برای ورود به PHP بهترین گزینه براتون باشه.

  7. امیر گفت:

    سلام ممنون از پست تون!
    میخاستم بپرسم اگه من الان php 5 رو یاد بگیرم بعد تغییرات از ۵ به ۷ زیاد خواهد بود یا با جستجو در نت و خوندن مقاله ها میشه برطرفش کرد؟

  1. ۰۸-آذر , ۱۳۹۴

    […] بازگشتی برای توابع و خیلی موارد دیگر که به اجمال در + و ++ و +++ معرفی شده […]

دیدگاهتان را بنویسید

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