لوگوی وبسایت
تمام آموزش های وبسایت رایگان می باشد ، پس از صفحات مختلف سایت دیدن فرمایید .

انقلابی در PHP ، برای PHP7 آماده شوید

سال ۲۰۱۵ مهم ترین سال برای PHP میباشد .یازده سال پس از زمانی که PHP5 منتشر شد . طبق برنامه ریزی های شده PHP7 انتشار یافت ، البته هر زمانی در اویل انتشار نسخه ی جدید دارای یک سری معایب هست که بزودی رفع خواهند شد . انتشار PHP7 برای ما سرعت چندبرابری و امکانات بسیار بیشتری نسبت به ورژن های قبلی به همراه آورده است .

افزایش کارایی – Performance – در PHP7

کارایی مهم ترین دلیلی است که شما باید سرور خود را وقتی ورژن استیبل انتشار یافت ، به PHP7 آپگرید کنید . تغییرات ایجاد شده در PHP بوسیله ی PHPng RFC باعث شده است که PHP7 تغریبا با HHVM هم سرعت شود و شما نیازی به نصب HHVM در سرور خود نداشته باشید . این تغییرات بسیار مهم خواهند بود ! اکثر اپلیکیشن های ساخته شده با PHP5.6 حداقل دو برابر سریع تر خواهند شد .

php7_graph-c863bf78

php7 میتواند بیش از دو برابر php5.6 درخواست ها را هندل کند که باعث بهبود ۱۰۰ درصدی در کارایی وبسایت شما میشود .

حل مشکلات پشت صحنه

بگذارید درباره یک سری مشکلات که در ورژن های قدیمی PHP وجود داشت صحبت کنید .

حذف ایتم های منسوخ شده

تعداد قابل قبولی از ایتم های منسوخ شده ی PHP حذف شده اند . چون که این ایتم ها خیلی وقت بود منسوخ شده بودند ، احتمالا شما نیز از آن ها استفاده نمیکردید .

بخصوص تگ های ASP-STYLE مانند <% , <%= %> حذف شده اند . همچنین تگ اسکریپت (<script language=”php”>) حذف شده است . اطمینان حاصل فرمایید که شما از تگ های توصیه شده مانند تگ <?php به جای آن ها استفاده میکنید . توابعی که در ورژن های قبلی منسوخ شدند مانند split در php7 حذف شده اند .

اکستنشن ereg ( تمام توایع ereg_* ) که در php5.3 منسوخ شدند ، در PHP7 حذف شده اند . شما باید از اکستنشن PCRE ( توایع preg_* ) استفاده کنید که امکانات بسیار بیشتری به همراه دارند . اکستنشن mysql ( توابع mysql_* ) که در ورژن های قبلی منسوخ شده بودند نیر حذف شده اند . شما باید از اکستنشن mysqli , یا pdo استفاده کنید.

ظاهر های مختلف برای متغیر ها

این مشکل توانسته است مشکل تناقضات در محاسبات متغیر – متغیر  بوجود می آمد را حل نماید . به کد زیر توجه کنید :

در php5 اصطلاح $person->$property[‘first’] به شکل $person->{$property[‘first’]} به حساب میرفت  و برای شما “My name is Erika” را نمایش میداد .

در php7 اصطلاح $person->$property[‘first’] به شکل  {$person->$property}['first'] پردازش میشود ، پس به شما خروجی نمیدهد زیرا شما دارید یک array دریافت میکنید و نمیتوانید آن را به صورت String نمایش دهید .

ممنون از روش جدید PHP ! با استفاده از این روش بسیاری از اصطلاحات که غیر قابل قبول بودند ، قابل قبول شدند .  برای آشنایی با روش جدید به کلاس زیر توجه کنید :

با استفاده از PHP7 ما میتوانیم از روش های تو در تو ( مانند js ) استفاده کنیم که قواعد جدید بین عملگر ها بوجود آورده است :

میتوان از این کد ها به روش Static هم استفاده کرد .

ممنون PHP 🙂

موتور Exception ها

این موتور جدید به شما اجازه صورت دهی و شخصی سازی ارور ها در اپلیکیشن شما میدهد . ارور های Fetal قدیمی در  Exception ها جا سازی شده اند که شما میتوانید آن ها را به بهترین روش نمایش دهید ، لوگ کنید و … .

البته روش هایی وجود داشته که اپلیکیشن های قدیمی از آن استفاده میکردند . به کد زیر توجه کنید :

کد بالا به ما ارور میدهد زیرا ورودی ArrayObject هست و ما یک استرینگ وارد کرده ایم . ارور به شکل زیر است :

خوب در PHP7 ارور به شکل زیر است :

ارور برای این بوجود آمد که ما یک Exception را دریافت نکرده ایم ، ولی میتوانستیم با قرار دادن در یک Try catch این را کنترل کنیم .

امکانات جدید در نوشتار PHP7

عملگر های جدید

php7 با دو عملگر جدید آمد ! یکی سفینه فضایی  ( ساخته شده از عملگر های مقایسه ایی ) و دیگری یکی شدن عملگر null .

عملگر سفینه فضایی  به شکل <=> میباشد و استفاده ایی مانند شکل زیر دارد :

این عملگر ۳ مقدار را بر میگرداند ، اگر -۱ باشه a بزرگ تر ، اگر ۰ باید دو مقدار برابرند و اگر ۱ باشد b بزرگ تر است .

این عملگر خلاصه شده ی شکل زیر است :

 

عملگر تلفیقی null ( ?? )  به می آید چک میکند بین دو متغیر هر کدام ست شده باشد آن را بر میگرداند ، میتوان گفت خلاصه شده ی شکل زیر است :

اما در PHP7 :

اسکالار ! Scalar Type Hints

یکی از مهم ترین تغییرات PHP7 این تغییر است .بالاخره ما هم در PHP میتوانید از انواع متغیر integer , floats , booleans  به عنوان یک نوع ورودی در متد ها و توابع استفاده کنیم .

به صورت پیشفرض این روش اجباری نیست اما با فعال کردن strict mode میتوانید ارور ها را دریافت کنید.

به کد زیر توجه کنید :

این کد هیچ خطا یی را نمایش نمیدهد و مقدار ۵ را نمایش میدهد زیرا strict mode فعال نیست اما با فعال کردن این مد خطا را دریافت میکنیم :

برای این کار شما باید کد   declare(strict_types = 1) را در اولین خط کدتان قرار دهید :

شما ارور زیر را دریافت خواهید کرد :

ثبت نوع برگرداندن در توابع و متد ها

یکی از امکانات جدید PHP7 ثبت نوع داده ایی است که قراره در متد یا تابع برگردانیم . به کد زیر توجه کنید :

کد بالا اروری نخواهد داشت زیرا strict mod فعال نیست ، اگر شما strict moe را فعال کنید ارور زیر را دریافت خواهید کرد :

 

این آموزش هم تمام شد ، انشالله با خبر های جدید تر و آموزش های جدید تر PHP7 در کنار شما خواهیم بود .

 

بر چسب های پست : , , , , , , ,
مطالب مرتبط
سلام دوستان ، امیدوارم حالتان خوب باشد . حتما شما هم درباره ی PHP7 و امکانات عال ...
۲۵ آبان ۹۴
1 دیدگاه
سلام دوستان ، امیدوارم حالتان خوب باشد . لطف خدا شامل حال ما شد و توانستیم دوره ...
۱۴ آبان ۹۴
2 دیدگاه
1 دیدگاه برای “انقلابی در PHP ، برای PHP7 آماده شوید”
  1. امید گفت:

    سلام
    زنده باد.


    Try Cache => Try catch

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

ورود به حساب کاربری
بستن این پنجره