Mahmoud Plus نشر 28 يناير 2021 أرسل تقرير نشر 28 يناير 2021 هل يمكن تجربة تلك التحديثات في الوقت الحالي ام لا ولماذا ؟ 1 اقتباس
0 Wael Aljamal نشر 28 يناير 2021 أرسل تقرير نشر 28 يناير 2021 مرحبا، PHP 8.0 هو تحديث رئيسي للغة PHP. يحتوي على العديد من الميزات والتحسينات الجديدة بما في ذلك الوسائط المسماة named arguments ، وأنواع الاتحاد union types، والسمات attributes، وترويج خاصية المُنشئ constructor property promotion، وتعبير المطابقة match expression، وعامل nullsafe operator، و JIT الترجمة اللحظية للغة، والتحسينات في نظام أنماط البيانات Data Types، ومعالجة الأخطاء error handling، والاتساق consistency. Named arguments يمكننا تحديد الوسيط عن طريق اسمه حتى لو لم يكن بنفس ترتيب تعريفه في الدالة htmlspecialchars($string, double_encode: false); قديما كان يجب تمرير كل الوسطاء htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); تغيير طريقة استخدام المسارات لتصبح بالشكل التالي: class PostsController { #[Route("/api/posts/{id}", methods: ["GET"])] public function get($id) { /* ... */ } } Constructor property promotion سمحت بتعريف خواص الصنف بدالخل دالة البناء : - بدل تعريفهم ثم اسناد قيمهم .. class Point { public function __construct( public float $x = 0.0, public float $y = 0.0, public float $z = 0.0, ) {} } match expression: أصبح نمط البيانات string لا يتم قصره إلى int بشكل تلقائي .. echo match (8.0) { '8.0' => "Oh no!", 8.0 => "This is what I expected", }; //> This is what I expected Nullsafe operator : اختصر وضع العديد من الشروط لإسناد قيمة للمتحول بوضع إشارة استفهام ؟ $country = $session?->user?->getAddress()?->country; بدل $country = null; if ($session !== null) { $user = $session->user; if ($user !== null) { $address = $user->getAddress(); if ($address !== null) { $country = $address->country; } } } بالإضافة لدوال و أصناف جديدة يمكنك أن تجدهم عبر الرابط التالي: تعديلات لغة البرمجة PHP 8 بالتوفيق 1 اقتباس
0 أحمد حبنكة نشر 28 يناير 2021 أرسل تقرير نشر 28 يناير 2021 السلام عليكم ورحمة الله وبركاته جميع التحديثات التي تريدها موجودةٌ في هذا الرابط: https://www.php.net/releases/8.0/en.php بالنسبة لتجربتها حالياً فيمكنك تجربتها في المشاريع الجديدة أما القديمة فهي تحتاج عملية migration وهذا ليس باﻷمر السهل. بالطبع تحتاج أيضاً إلى تحديث framework إلى نسخة تدعم php 8 ، آخر نسخة من laravel تدعم php 8 لكني لا أعلم عن بقية frameworks . 1 اقتباس
السؤال
Mahmoud Plus
هل يمكن تجربة تلك التحديثات في الوقت الحالي ام لا ولماذا ؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.