يي 2.0.16


أصدر فريق إطار عمل Yii PHP الإصدار 2.0.16 ، والذي يحتوي على أكثر من مائة إصلاح وبعض التحسينات . تم إصلاح العديد من مشكلات الأمان.


تم تجميد فرع Yii 2.0 منذ أكثر من عام ، مما يعني أنه يقبل التصحيحات بشكل أساسي. تم ذلك للسماح لفريق Yii بالتركيز على Yii 3. في نهاية هذا المنشور ، يوجد المزيد من المعلومات حول Yii 3.


يتضمن هذا الإصدار العديد من التغييرات التي قد تؤثر على التطبيقات الحالية. تأكد من قراءة UPGRADE.md .


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


فيما يلي التحسينات الأكثر إثارة للاهتمام التي ما زالت قادرة على التسرب إلى الإصدار. القائمة الكاملة ، كالعادة ، يمكن العثور عليها في CHANGELOG .


سجل نشط


سالم ورداني ، أضافت @ تونسينو سلوكًا للتأمين المتفائل.


يسمح قفل التفاؤل لعدة مستخدمين بتحرير سجل في وقت واحد وتجنب التعارضات المحتملة على جانب الخادم. في حالة محاولة مستخدم حفظ عمليات التحرير بناءً على بيانات قديمة (لأنه تم بالفعل حفظ مستخدم آخر) ، StaleObjectException ، ولا يتم إجراء أي تحديث أو حذف.


تم تطبيق آلية هذا القفل نفسه في الإصدارات الأولى من Yii ، لكن استخدامه بشكل صحيح لم يكن بهذه البساطة. الآن بسيط.


يمكن الاطلاع على الوثائق في الدليل الرسمي.
و API OptimisticLockBehavior .


الهجرات


يستخدم مولد ترحيل وحدة التحكم الآن بادئات الجدول افتراضيًا. إذا كنت تريد تغيير هذا ، يمكنك تعيين yii\console\controllers\MigrateController::useTablePrefix إلى false في تكوين أمر وحدة التحكم.


قواعد البيانات


  • يدعم برنامج تشغيل MySQL الآن الدقة الثانية الكسرية للأنواع المؤقتة (MySQL> = 5.6.4 مطلوب).
  • يدعم برنامج تشغيل Oracle الآن إعادة تعيين التسلسلات.

المساعدون


  • yii\helpers\Inflector العمل بشكل صحيح مع UTF-8.
  • تمت إضافة علامة yii\mutex\FileMutex::$isWindows هي Windows للكرة Windows على أجهزة ضيف Unix.
  • يمكن الآن استعادة yii\helpers\ReplaceArrayValue yii\helpers\UnsetArrayValue ، و yii\helpers\ReplaceArrayValue بعد إجراء التسلسل باستخدام var_export() .

الشواية


تمت إضافة الخيار $filterOnFocusOut ، والذي يحدد ما إذا كان يجب إجراء التصفية عند فقد التركيز.


مسج


الآن يمكنك تثبيت jQuery 3.3.


موتكس


  • يتم زيادة تكرار محاولات الحصول على تأمين yii\mutex\FileMutex::acquireLock() إذا $timeout توفير $timeout .
  • تمت إضافة دعم yii\mutex\PgsqlMutex::acquire() $timeout yii\mutex\PgsqlMutex::acquire() في yii\mutex\PgsqlMutex::acquire() .

إصلاحات الأمان


تم إصلاح مشكلتي أمان:


  • CVE-2018-14578: تجاوز التحقق من صحة رمز CSRF في \yii\web\Request::getMethod()
  • CVE-2018-19454: التسجيل الزائد للمعلومات الحساسة في \yii\log\Target

قوالب التطبيق


  • تم تنظيف التكوينات Codeception في القوالب الأساسية والمتقدمة.
  • تمت إضافة تهيئة بسيطة لـ Docker إلى القالب Advanced.
  • يتطلب القالب المتقدم الآن إصدارًا أحدث من Codeception ، والذي يعمل فقط منذ PHP 7.0. سوف التطبيقات القديمة تعمل كما كان من قبل.

قليلا عن يي 3.0


سيكون الإصدار الرئيسي التالي من Yii هو 3.0. سيتم الإعلان المفصل لاحقًا ، ولكن لفترة وجيزة:


البنية المحدثة : ينقسم الإطار إلى حزم منفصلة .
سيتيح لك ذلك جمع ما تحتاجه منهم.


جافا سكريبت المستقلة : جنبا إلى جنب مع إعادة تنظيم شفرة المصدر ، يي غير مرتبطة من إطار جافا سكريبت في النواة.
لا تتطلب حزم Key Yii مسجًا.


متوافق مع PSR : Yii 3 ستتبع توصيات PHP-FIG. تم بالفعل تنفيذ العديد من تقارير PSR: التسجيل وذاكرة التخزين المؤقت و DI وغيرها.


يي 3.0 قيد التطوير النشط. سيتم إعلان مفصل عن الوصول إلى إصدار ألفا.

Source: https://habr.com/ru/post/ar438394/


All Articles