اذهب إلى المحتوى
  • 0

تحديث مشاريع لارافل من PHP 7 إلى PHP 8

Hafsa Aly

السؤال

Recommended Posts

  • 1
بتاريخ On 22/06/2022 at 12:04 قال Hafsa Aly:

xampp php version7 (laravel7)

وانا الن لدي xampp  php 8  (laravel8)

قبل محاولة التحديث ينبغي معرفة ان لارافيل تصنف أربع مستويات من التأثير توصف دوما بجانب أدلة التحديث:

  • Low وهو المستوى الاقل تأثيرا، ويشمل الأجزاء التي لها احتمالية ضئيلة للفشل في حالة عدم تحديثها. قد تسبب ظهور تنبيهات مثل تنبيهات إهمال سياق، تابع او وظيفة ما deprecation warning
  • medium:  الأجزاء التي لها امكانية تسبيب بعض المشاكل الغير جدية (مشاكل ضئيلة التأثير).
  • Optional: لا تؤثر، ولكن مستحسنة
  • High: تؤثر بشكل كبير وقد تسبب مشاكل جذرية في المشروع.

بحسب دليل التحديث، فإنك ستحتاجين أولا تحديث نسخ كل من اعتماديات composer التالية:

  • guzzlehttp/guzzle إلى ^7.0.1
  • facade/ignition الى ^2.3.6
  • laravel/framework الى ^8.0 
  • في حال ما كنت تستعملين laravel/ui فيجب عليك ترقيتها هي الأخرى الى ^3.0
  • nunomaduro/collision الى ^5.0
  • phpunit/phpunit الى ^9.0

ثم كتحديث عال التأثير، يجب تحديث فضاءات أسماء namespaces الخاصة بمعامل النماذج model factories ومنشئات البذرة seeders ويشمل ذلك:

  • اعادة تسمية مجلد seeds ليصبح seeders
  • حقن فضاءات الاسماء في ملفات ال seeders وال factories الخاصة بك:
    <?php
     
    namespace Database\Seeders;
     
    use App\Models\User;
    use Illuminate\Database\Seeder;
     
    class DatabaseSeeder extends Seeder
    {
        /**
         * Seed the application's database.
         *
         * @return void
         */
        public function run()
        {
            ...
        }
    }

     

  • تحديث خريطة فضاءات الاسماء في ملف composer.json باضافة الفضائين السابقين:

    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },

     

أغلب التحديثات الموصوفة الأخرى هي تحديثات ضئيلة التأثير، اختيارية او نادر العمل بها (مثل تصفيح bootstrap).

يفترض ان يعمل لارافيل الآن لديك وفق النسخة 8 بشكل طبيعي.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

أهم تحديث يجب عليك القيام به في حال كنت تستخدم نسخة Laravel 9 هو تحديث اعتماديات composer ضمن الملف composer.json كالتالي:

"laravel/framework": "^9.0"
"nunomaduro/collision": "^6.1"

وأيضاً إجراء التبديل التالي ضمن نفس الملف:

facade/ignition

نستبدله ب

"spatie/laravel-ignition": "^1.0" 

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...