منبع اصلی نوشتار زیر در این لینک قرار دارد

PHP در راه انتشار – قسمت دوم

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

در پست PHP در راه انتشار – قسمت اول درباره یکسری از مهمترین تغیرات نسخه هفتم PHP گفتم و حالا میخوام بقیشونو بگم.

تعریف ثابت آرایه ای با استفاده از define

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

مثلا به دستورات زیر دقت کنید. توی این دستورات خط دوم ارور میده.

<?php
$variable = 3;
const X = array(1,2,$variable,4); // Fatal error: Constant expression contains invalid operations in <...> on line 3
?>

ولی اگه من جایی نیاز داشته باشم تا با استفاده از یک متغیر یک ثابت رو مقدار دهی کنم پس باید چیکار کنم؟ خب اینجاست که define با تغیرات نسخه ۷ به کمکمون میاد.

خب خیلی راحت همینکار رو با define میکنیم و هیچ اروری هم دریافت نمیکنیم.

<?php
$variable = 3;
define('X',array(1,2,$variable,4));
?>

استفاده گروهی از namespace ها

خب برای اینم باز مثال ببینیم بهتره.

مثلا کد زیر برای دوران قبل از PHP7 بود:

<?php
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

همین کد بعد از دوران پیدایش نسخه ۷ام به این شکل میشه:

<?php
use some\namespace\{ClassA, ClassB, ClassC as C};

تابع intdiv 😐

این تابه دوتا پارامتر به عنوان ورودی میگیره و بخش صحیح حاصل تقسیم پارامتر اول به دوم رو برمیگردونه.

اینکه این تابع رو خودمون تعریف کنیم کار خیلی راحتی هست ولی خب گذاشتن دیگه…

<?php
var_dump(intdiv(10, 3)); // int(3)

پارامتر session_start

احتمال خیلی زیاد با session_start آشنا هستید. ولی خب این تابع هیچ پارامتری دریافت نمیکرد؛ البته تا نسخه هفتم. حالا به عنوان پارامتر اختیاری میتونه آرایه‌ای از تنظیماتی که قبل از این باید از php.ini تغیرشون میدادیم بگیره.

<?php
session_start([
    'cookie_lifetime' => 86400,
    'session.name' => 'COOKIE_NAME'
    'read_and_close'  => true,
]);

کلاس IntlChar

ّIntlChar یک کلاس از پیش تعریف شدست که داخل پر از ثابت ها و متود هایی هست که مربوط به بررسی و جمع آوری یکسری از اطلاعات مربوط به کاراکتر ها است.

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

 

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



برچسب ها : ,