عنوان مقاله :

پی اچ پی 7.1 و ویژگی های جدید

گردآوری و تالیف : حسام موسوی
تاریخ انتشار : 11 دی 1395
دسته بندی ها : برنامه نویسی

تقریبا یک ماه قبل پی اچ پی 7.1 بصورت نهایی ارائه شد و حالا توسعه دهنده ها میتونن از اون در پروژه های خودشون استفاده کنن . در این نسخه جدید ، ویژگی های تازه ای به PHP اضافه شده مثل Nullable types ، Void return type ، Class constant Visibility و ... . که در این پست قصد دارم یه نگاه سریع به سه تا از مهمترین ویژگی های اضافه شده به php 7.1 داشته باشم . 

Nullable types

function answer(): ?int  {
    return null; //ok
}

function answer(): ?int  {
    return 42; // ok
}

function answer(): ?int {
    return new stdclass(); // error
}

این ویژگی به این صورت عمل میکنه که شما در کنار و قبل نوع داده چه برگشتی چه ورودی اگر از علامت سوال استفاده کنید مقدار اون میتونه null باشه . مثال بالا دقیق نشون دهنده همین موضوع است . 

Void Return Type

همینطور که از عنوان هم مشخصه شما میتونید بسادگی توابع Void تعریف کنید ، یعنی توابعی که چیزی رو بر نمیگردونن و فقط یک کاری رو داخل خودشون انجام میدن ، به مثال زیر دقت کنید هر چهار تابع از نوع Void هستن اما در مثال اول و آخر سعی شده مقداری برگشت داده بشه حتی اون مقدار null باشه که این تلاش با ارور مواجه شده . در مثال دوم شما عملا از return استفاده نمیکنید و این خودش نشون دهنده void بودن تابع اس و در مثال سوم درسته که از return استفاده میشه اما هیچ مقداری حتی null هم برگشت داده نمیشه که این موضوع اروری هم ایجاد نمیکنه . 

function should_return_nothing(): void {
    return 1; // Fatal error: A void function must not return a value
}

function lacks_return(): void {
    // valid
}

function returns_nothing(): void {
    return; // valid
}

function returns_null(): void {
    return null; // Fatal error: A void function must not return a value
}

Class constant Visibility

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

class Token {
    // Constants default to public
    const PUBLIC_CONST = 0;

        // Constants then also can have a defined visibility
        private const PRIVATE_CONST = 0;
        protected const PROTECTED_CONST = 0;
        public const PUBLIC_CONST_TWO = 0;

        //Constants can only have one visibility declaration list
        private const FOO = 1, BAR = 2;
}

امیدوارم این پست مورد استفاده شما قرار گرفته باشه سعی میکنم حتما در یک پست دیگه خصوصیات بیشتری از PHP 7 و PHP 7.1 رو برای شما توضیح بدم . 

مقالات پیشنهادی

20 کتابخانه عالی برای php

در این پست قراره یک سری کتابخونه های PHP رو معرفی کنم که در چند ماه گذشته مورد توجه خیلی ها قرار گرفته و توسط خیلی ها در پروژه ها استفاده شده . این کت...

کپسوله سازی - برنامه نویسی شی گرا در php | قسمت سوم

اولین باری که این اسم رو میبینید تعجب میکنید که این دیگه چیه . یعنی قراره چی باشه ! راستش خودمم همینطور بودم ، برام عجیب بود ولی وقتی معنی کسپوله سازی...

برنامه نویسی شی گرا در php | قسمت دوم

برای اضافه کردن اطلاعات در کلاس ها از property ها استفاده میشه . کار اونها دقیقا شبیه متغیرها در php معمولیه و تنها تفاوتشون اینکه قبل از تایپ اسم pro...

PHP یا PYTHON - کدام یک پیروز میدان است؟

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

دیدگاه های ارزشمند شما

masami | 3 ماه پیش

فدا دستات مهربون