عنوان مقاله :

پی اچ پی 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 رو برای شما توضیح بدم . 

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

منابع تازه برای توسعه دهندگان Front-end - سری اول

امروزه ابزار ها ، کتابخانه ها و فریمورک های مختلفی بصورت روزانه برای توسعه دهنگاه Front-end ارائه می شود تا آنها بتوانند سریع تر ، بهتر و راحتر پروژه...

15 کتابخانه جالب جاوا اسکریپت و Css - مرداد 95

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

من یک طراح و برنامه نویس وب هستم ولی کاری ندارم

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

کد نویسی پاک

چرا کد نویسی پاک ؟ اصلا منظورم از کدنویسی پاک چیه ؟ برای شخص خودم بارها و بارها اتفاق افتاده یک پروژه رو به اتمام رسونده ام اما بعد از 2 هفته مشکلی در...

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

هیچ دیدگاهی تا به این لحظه برای این موضوع ثبت نشده است