12399
تشکر

PHP 7

Get ready for PHP 7

Get ready for PHP 7

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

ابتدا بیایید ببینیم که چه زمانی، باید منتظر آمدن اولین نسخه پایدار از PHP 7 باشیم. خب جامعه توسعه‌دهنده PHP، شش نسخه RC تا قبل از آمدن نسخه پایدار را برنامه‌ریزی کرده‌اند که تا به اینجا چهار نسخه آن منتشر شده است و نسخه نهایی PHP 7 را برای روز 12 نوامبر مصادف با 21 آبان برنامه‌ریزی کرده‌اند.

ما هم در آپارنت سعی می‌کنیم که تا قبل از 21 آبان تمام ویژگی‌هایی که به PHP 7 اضافه شده است را به صورت جزئی بررسی کنیم، مطمئناً نظرات شما، کمک بسیار خوبی به ما به سرانجام رسیدن این سری از مطالب است.
در این مطلب ابتدا میخواهیم در مورد Performance یا کارایی PHP 7 و سپس در مورد Operator یا عملگر جدیدی که به PHP 7 اضافه شده است صحبت کنیم.
در ادامه مطلب همراه ما باشید…

Performance

مطمئناً تمام سرورها باید به PHP 7 در اولین زمان ممکن سوییچ کنند. دلیل آن هم خیلی واضح است. شما حتی بدون تغییر دادن یک خط از کدهایتان میتوانید کارایی سرور را در پاسخ به درخواست‌ها تا نزدیک به دو برابر افزایش دهید. در بعضی از تست‌های (Benchmark) انجام شده این افزایش حتی از کارایی HHVM هم فراتر رفته است.

این افزایش کارایی مدیون Zend Engine جدید موسوم به PHP Next-Gen یا PHPNG است.

PHP 7 Benchmark

PHP 7 Benchmark

برای اینکه نگاه دقیق‌تری به تست‌های انجام شده داشته باشید می‌توانید به ارائه‌ایی که Rasmus Lerdorf انجام داده است مراجعه کنید.

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

عملگر Null Coalesce یا ادغام کننده Null (??)

ابتدا بیاید به شرایطی که در گذشته یا بهتر بگوییم حال داریم، نگاهی بکنیم.

از آنجایی که PHP یک زبان برای توسعه وب اپلیکیشن‌ها است، بنابراین ما باید همیشه داده‌های ارسالی از کاربر را چک و اعتبارسنجی کنیم. یکی از اعتبارسنجی‌هایی که خیلی زیاد با آن سروکار داریم، اعتبارسنجی Null بودن یک متغیر یا index یک آرایه است.

برای اینکار معمولاً از روش زیر استفاده میکنیم:

در کد بالا ما ابتدا چک میکنیم که خانه‌ایی با نام id موجود باشد، سپس اگر موجود بود، همان را درون متغیر مربوطه میریزیم، در غیر اینصورت یک مقدار پیشفرض را به متغیر وارد میکنیم.

روش بهتری نیز وجود دارد:

اما این روش یک اشکال مهم دارد، آن هم اینکه اگر خانه‌ایی با نام id درون آرایه موجود نباشد این خط یک خطای E_NOTICE برمی‌گرداند.

به همین دلیل و برای اینکه کار برنامه نویس راحتتر باشد، PHP در نسخه جدید از عملگر Null coalesce رونمایی کرد. این علمگر در زبان‌هایی کنونی مثل #C نیز با همین نام وجود دارد.

اما یک مثال از نحوه استفاده از این عملگر:

در کد بالا در صورتی که مقدار اول موجود باشد و Null نباشد، همان مقدار به متغیر وارد می‌شود، در غیر اینصورت مقدار دوم به متغیر ریخته خواهد شد.

مثال‌های زیر نیز به همین صورت هستند:

این عملگر که ما نام ادغام کننده Null را بر روی آن گذاشتیم، می‌تواند به صورت زنجیره‌ایی هم مورد استفاده قرار بگیرد.

این مطلب از سری مطالب، PHP 7 است
  • vahid می‌گه:

    با سلام
    خیلی دیر سایتت آپدیت میکنی

  • مهدی می‌گه:

    سلام اون تشکر باگ داره من الان با یه کلیک یه عالمه لایک زدم ذوق کنید 😀

  • علی رسالت می‌گه:

    مطالب خوب بود ممنون

  • محمدرضا می‌گه:

    خیلی خوب بود .
    لطفا بیشتر در این مورد مطب بذارید .
    به php 7 عملگر های دیگه ای هم اضافه شده؟
    ممنون

  • آروین می‌گه:

    سلام. عالی بود. ما منتظریم

  • دوستان عزیز از طریق لینک زیر میتونن تمامی تغییرات و توابع جدید در php7 را داشته باشند
    https://github.com/tpunt/PHP7-Reference

  • Abbas می‌گه:

    ممنون، مطلب مفیدی بود

  • قابلیت های جدید دیگری از جمله کلاس های بدون نام به PHP افزوده شده است.
    به منم سر بزنید.

  • سلام توی ورژن های قبلی هم میشد نال بودن رو با تابع empty چک کرد مثلا:

    $id = !empty($_GET[‘id’]) ? $_GET[‘id’] : 1;

  • وحید می‌گه:

    تشکر به خاطر مطلب خوبتون
    منتظر مطالب بعدی در مورد PHP7 هستیم.

  • هامون می‌گه:

    واقعا این نکته روی PHP 5 خیلی رو مخ بود. خوب شد یه فکری به حالش کردند.
    ممنون

  • حامد ولی‌الهی می‌گه:

    ممنون، جالب بود.

  • شفیعیان می‌گه:

    منتظر این نسخه هستیم …


  • نظرات این مطلب بسته است.