شارك المقال

ما الجديد في PHP 7.1.0

A VPN is an essential component of IT security, whether you’re just starting a business or are already up and running. Most business interactions and transactions happen online and VPN

اعتبارًا من الأول من كانون الأول (ديسمبر) ، أصبح الإصدار الأحدث من PHP PHP 7.1.0  متاحًا الآن. بعد التحديث الضخم الذي نقل PHP من 5.6 مباشرة إلى 7.0 إلى زيادة السرعة بشكل كبير ، تركز PHP الآن على ميزات اللغة الأساسية التي ستساعدنا جميعًا في كتابة كود أفضل. في هذه المقالة سوف ألقي نظرة على الإضافات والميزات الرئيسية لـ PHP 7.1.0. يمكنك أيضًا الاطلاع على سجل التغيير الرسمي .

تحديث: PHP 7.4 (إصدار رسمي) متاح الآن لجميع عملاء Kinsta.

تركز PHP 7.1.0 الآن على ميزات اللغة الأساسية التي ستساعدنا في كتابة تعليمات برمجية أفضل.

انقر للتغريد

أنواع لاغية

واحدة من أكثر الإضافات التي تحدثنا عنها هي الأنواع القابلة للإلغاء والتي كانت مفقودة بشكل كبير. يمكن أن تُرجع المتغيرات بالفعل قيمة من نوع ما أو قيمة خالية ، ويمكنك أيضًا تعيين معلمة دالة على قيمة خالية. سوف يدعم PHP 7.1 القيمة null كنوع إرجاع قابل للتحديد للوظائف.

دعونا نلقي نظرة على ما يعنيه هذا. فيما يلي بعض أنواع الإرجاع التي قد تجدها مألوفة من الإصدار 7.0 الجيد.

function getNumber(): int  {
    return 6;
}

// Returns an integer so all is well

function getNumber(): int  {
    return 'six';
}

// Returns a string, will throw an error when called

إضافة علامة استفهام قبل إعلان النوع سيسمح بقيمة خالية كقيمة معادة.

function getNumber(): ?int  {
    return null;
}

// Null is allowed, so all is well

بناء الجملة هو نفسه بالضبط بالنسبة إلى نوع المعلمة تلميح. في المثال أدناه

function showColor(?string $color) {
    if ($color) {
        echo $color;
    }
}

showColor( '#ff9900' );
// Works just fine, a string has been given

showColor( null );
// Works fine, null is allowed

أحب هذه الميزة لأنه كلما كانت التعليمات البرمجية أكثر وصفًا ، كان من الأفضل لنا جميعًا العمل معًا. تُعد إعلانات النوع أيضًا رائعة للتخلص من أي مشكلات قبل حدوثها ، وهو أمر يربح فيه الجميع.

تغييرات php 7.1.0

الإرجاع المتكرر والباطل

بينما نحن في موضوع أنواع الإرجاع ، هناك نوعان جديدان: باطل. ويمكن استخدام Void القابل للتكرار للوظائف التي ليس لها قيمة إرجاع.

function perform_a_job() : void {
    return;
    // This is fine, it returns null
}

function perform_a_task() : void {
    // This is also fine, it returns null
}

function perform_another_task() : void {
    return true;
    // This will return an error since it is not void
}

هذه طريقة أخرى لجعل التعليمات البرمجية ذاتية التوثيق. ما إذا كان يجب استخدام الوظائف التي لا تقدم أي شيء أم لا ، فهذا أمر يخضع للنقاش ، ولكن لدينا على الأقل آلية منظمة للإشارة إلى هذا السلوك.

يُشير التكرار إلى قيمة يمكن اجتيازها ، مثل المصفوفة. القيمة المضافة لـ iterable هي أنه يمكننا استخدامه للإشارة إلى كائن يقوم بتنفيذ واجهة المكرر.

function fonc01(iterable $data) {
    foreach ($data as $key => $val) {
        //....
    }
}

fonc01(new SplFixedArray(5));
// Works kist fine, SplFixedArray implements Iterator
// See http://php.net/manual/en/class.splfixedarray.php

(بفضل باسكال مارتن على هذا المثال)

معالجة استثناء متعدد الالتقاط

حتى الآن ، إذا احتوت كتلة try على إمكانية وجود استثناءات متعددة ، فقد احتجنا إلى التعامل معها بشكل منفصل ، حتى لو استخدموا نفس المنطق. تم حل هذا في PHP 7.1 من خلال السماح بالتقاط استثناءات متعددة دفعة واحدة.

تريد أن تعرف كيف زدنا من حركة المرور لدينا أكثر من 1000 ٪؟

انضم إلى أكثر من 20000 آخرين ممن يتلقون رسائلنا الإخبارية الأسبوعية مع نصائح من الداخل حول وورد بريس!

إشترك الآن

try {
    // some code
} catch (FirstException | SecondException $e) {
    // handle first and second exceptions
}

يمكن الآن استخدام المفاتيح في القوائم

بينما list()تبدو وكأنها دالة ، فهي في الواقع بناء لغة ، تمامًا مثل array(). يتم استخدامه لتعيين قائمة المتغيرات دفعة واحدة.

حتى الآن أنها يمكن أن تستخدم فقط مع المصفوفات الرقمية بدءا من 0. من 7.1.0 فصاعدا يمكنك استخدام مفاتيح مع list()، أو يمكنك استخدام الاختزال لها: []. ألق نظرة على الأمثلة أدناه ، بإذن من php.net .

$data = [
    ["id" => 1, "name" => 'Tom'],
    ["id" => 2, "name" => 'Fred'],
];

// list() style
list("id" => $id1, "name" => $name1) = $data[0];

// [] style
["id" => $id1, "name" => $name1] = $data[0];

// list() style
foreach ($data as list("id" => $id, "name" => $name)) {
    // logic here with $id and $name
}

// [] style
foreach ($data as ["id" => $id, "name" => $name]) {
    // logic here with $id and $name

المزيد من إزاحة السلسلة السلبية

يضيف PHP 7.1.0 دعمًا أوسع لإزاحة السلاسل السلبية. يمكنك حتى البدء في استخدام التعويضات السلبية []جنبًا إلى جنب مع السلاسل. ألق نظرة على مدى روعة هذا:

$name = "Daniel";
echo "My name ends in an '$name[-1]'. Nice!";

تحصل الوظائف الأساسية مثل strpos على هذا التحديث الذي سيجعل الكود الخاص بنا أقصر وأكثر وضوحًا.

هل تعاني من مشاكل التوقف و وورد بريس؟ Kinsta هو حل الاستضافة المصمم لتوفير الوقت! تحقق من ميزاتنا

عوامل التشغيل والأرقام المشوهة

يُنظر إلى حقيقة أنه يمكنك القيام بها 5 + “3”في PHP وسيتم تقييمها إلى 8 على أنها نعمة للبعض ، ونقمة للآخرين. تتعمق المشكلة عندما تدرك أن القيمة 5 + “three”5.

أعتقد أن هذا مهمل للغاية ويمكن أن يؤدي إلى جميع أنواع المشاكل على طول الخط. يحاول PHP 7.1.0 إضفاء بعض السلامة على الموقف من خلال تحذيرك عندما يكون لديك شيء مشوه هناك ، مثل المثال الثاني. سيستمر العمل الأول لأن PHP تحول سلسلتك من ثلاثة إلى رقم ثلاثة. الثاني سيصدر إشعارًا أو تحذيرًا.

PHP 7.1.0 إضافات صغيرة أخرى

بصرف النظر عن عدد لا يحصى من إصلاحات الأخطاء الطفيفة ، هناك بعض الميزات الصغيرة التي يجب ذكرها على الأقل:

تمت إضافة خوارزميات الوضع الثابت SHA3

تمت إضافة دالة is_iterable ()

تنفيذ الإغلاق :: fromCallable

إضافة دعم HTTP / 2 Server Push

تم إهمال MCrypt وستتم إزالته في الإصدار التالي

قراءة متعمقة

تعجبني الطريقة التي تتجه بها PHP – لغة مكتوبة أكثر تنظيماً وإحكاماً من ذي قبل. الآن وقد تلقينا تحديثًا ضخمًا للسرعة مع 7.0 ، فقد حان الوقت للتركيز على هذه الجوانب. إذا كنت مهتمًا بمعرفة المزيد عن PHP ، بشكل عام ، فلدي هذه القائمة المنسقة لأفضل دروس PHP وإذا كنت ترغب في معرفة المزيد حول 7.1.0 يمكنني أن أوصي بشدة بالموارد التالية:

PHP 7.1 الأخبار

ملاحظات ترقية PHP 7.1

دليل الهجرة

أنواع لاغية

أنواع PHP 7.1.0

تأكد أيضًا من مراجعة معايير الأداء هذه لـ PHP 7.1.0 مقابل PHP 7 و PHP 5. لتنزيلات المصدر لـ PHP 7.1.0 ، قم بزيارة صفحة تنزيلات PHP .

PHP 7.1 و 7.2 و 7.3 لمستخدمي Kinsta

أحدث إصدار PHP 7.1 و 7.2 و 7.3 متاح بالفعل لجميع مستخدمي Kinsta. يمكن تمكينه بسهولة من داخل لوحة معلومات MyKinsta ، ضمن الأدوات ، بنقرة واحدة.

kinsta php 7.1.0 تحديث

Kinsta PHP 7.1.1 تحديث

وفر الوقت والتكاليف وحقق أقصى قدر من أداء الموقع من خلال:

مساعدة فورية من خبراء استضافة وورد بريس ، 24/7.

تكامل Cloudflare Enterprise.

يصل الجمهور العالمي إلى 28 مركز بيانات حول العالم.

التحسين من خلال مراقبة أداء التطبيقات المضمنة لدينا.

كل ذلك وأكثر من ذلك بكثير ، في خطة واحدة بدون عقود طويلة الأجل ، وعمليات الترحيل المدعومة ، وضمان استرداد الأموال لمدة 30 يومًا. تحقق من خططنا أو تحدث إلى قسم المبيعات للعثور على الخطة المناسبة لك.

توضيح

اي عملية نسخ او اقتباس او ترجمة او نقل تم لاغراض علمية وتدريبية وتعليمية بحته وقد تم انشاء هذا المحتوى بمعرفة خبراء في مجال التقنية اما عن طريق إنشاء او تحرير او نقل او نسخ او اقتباس او ترجمة المحتوى من مصادر خاصة او عامة وكل ذلك ضمن حقوق النشر المتعارف عليها.

اي أخطاء تظهر في المحتوى مهما كان نوعه او تصنيفه يمكنك تحرير رسالة فورية لادارة موثوق لاجل تصحيح هذه الاخطاء، وسنكون شاكرين لك في حال قمت بالتعاون معنا لاجل اصلاح هذه الاخطاء.

أرسل تصحيح

شاركنا رايك وتقييمك للموضوع

{{ reviewsTotal }}{{ options.labels.singularReviewCountLabel }}
{{ reviewsTotal }}{{ options.labels.pluralReviewCountLabel }}
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}