14
تشکر

ویژگی های جدید در PHP 5.6

PHP – پی اچ پی

PHP – پی اچ پی

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

در ادامه مطلب همراه ما باشید…

ثابت ها (Constants)

ثایت‌ها در نسخه های قدیمی‌تر هم بودند، اما از نسخه 5.6 به بعد از ثابت‌ها میتوان در عبارات ریاضی و Stringها استفاده کرد که اینکار قبلا امکان پذیر نبود.

مثال:

const ONE = 1;
const TWO = ONE * 2;

مثال دو:

class C {
  const THREE = TWO + 1;
  const ONE_THIRD = ONE / self::THREE;
  const SENTENCE = 'The value of THREE is '.self::THREE;

  public function f($a = ONE + self::THREE) {
    return $a;
  }
}

ویژگی خیلی جالبتر اینست که میتوان در تعریف ثابت‌ها از آرایه نیز استفاده کرد.

مثال:

const ARR = ['a', 'b'];
echo ARR[0];

Variadic functions

در نسخه 5.6 عملگر جدیدی به نام اضافه شده است که کاربردهای مختلفی دارد. یکی از این کاربردها در Variadic functions است. با استفاده از این قابلیت دیگر نیازی به تابع func_get_args نداریم و به صورت خیلی بهتری میتوانیم آن را پیاده سازی کنیم.

مثال:

function f($req, $opt = null, ...$params) {
}

در آخرین پارامتر تابع بالا مشاهده میکنید که در ابتدای پارامتر عمگر وجود دارد. وجود این عملگر باعث میشود که که پارامتر params$ تبدیل به آرایه‌ای شود که پارامترهای اضافی که به تابع داده میشود درون آن نگهداری شود.

مثال:

<?php
function f($req, $opt = null, ...$params) {
    // $params is an array containing the remaining arguments.
    printf('$req: %d; $opt: %d; number of params: %d'."\n",
           $req, $opt, count($params));
}

f(1);
f(1, 2);
f(1, 2, 3);
f(1, 2, 3, 4);
f(1, 2, 3, 4, 5);
?>

خروجی:

$req: 1; $opt: 0; number of params: 0
$req: 1; $opt: 2; number of params: 0
$req: 1; $opt: 2; number of params: 1
$req: 1; $opt: 2; number of params: 2
$req: 1; $opt: 2; number of params: 3

Argument unpacking

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

مثال:

<?php
function add($a, $b, $c) {
  return $a + $b + $c;
}

$operators = &#91;2, 3&#93;;
echo add(1, ...$operators);
?>

use function and use const

کلمه کلیدی use در نسخه‌های قبلی فقط برای کلاس‌ها کاربرد داشت. اما از نسخه 5.6 به بعد میتوان تابع‌ها و ثابت‌ها را use کرد.

<?php
namespace Name\Space {
    const FOO = 42;
    function f() { echo __FUNCTION__."\n"; }
}

namespace {
    use const Name\Space\FOO;
    use function Name\Space\f;

    echo FOO."\n";
    f();
}
?>

عملگر **

عمگلر ** به عنوان عملگر توان معرفی شده است که عملگر =** هم کوتاه شده آن است.

$a = 3;
$a **= 2; //$a = 8

نتیجه گیری

ویژگی‌های دیگری نیز مانند افزایش حداکثر حجم قابل آپلود به بیشتر از 2 گیگابایت و اضافه شدن توابعی مانند hash_equals نیز هست که لیست کامل تغییرات پی اچ پی 5.6 را میتوانید در این صفحه مشاهده کنید.

در آینده نیز احتمالا در مورد نسخه بعدی PHP که در حال توسعه است صحبت میکنیم. فقط این را بدانید که نسخه 5.7 که قرار بود نسخه بعدی PHP باشد به نسخه 7 تغییر عنوان داده است.

  • حسین می‌گه:

    سلام خیلی عالی بود.
    منتظر تغییرات بعدی هستیم!

  • محمد می‌گه:

    فوق العاده ای!!!!

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

    سلام

    همش عالی بود ممنون و مخصوصا اون عملگر جدیدا

  • مهرشاد درزی می‌گه:

    تو این نسخه Mysql_* حذف شده اند یا خیر ؟

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

    سلام ، عالی بود.


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