الكورس

Advertisements

Laravel Views


الواجهات (Views) في تطوير الويب هي الهيكل الذي سيتم عرضه على متصفح الويب، يحتوي على جميع أكواد HTML المستخدمة لعرض محتوى موقع الويب (أي الواجهة الأمامية)، يتم فصل methods الـ Views عن الـ Controller والـ Model فى بنية MVC لـ laravel.

مثال للتوضيح:

resources/views/test.blade.php

<html>
  <body>
      <h4>Hello In Our Website!</h4>
  </body>
</html>

app/Http/routes.php

Route::get('/test', function() {
  return view('test');
});

💡 نتيجة الكود السابق ستكون كالتالى:

Hello In Our Website!


 

تمرير بيانات للـ View

 

resources/views/test.blade.php

<html>
  <body>
      <h4>Hello {{ $username }}!</h4>
  </body>
</html>

app/Http/routes.php

Route::get('/test', function() {
  return view('test', ['username' => 'Hamed']);
});

💡 نتيجة الكود السابق ستكون كالتالى:

Hello Hamed!

 

💡توضيح المثال السابق:

  • الوسيطة الأولى التي تم تمريرها إلى الـ view تتوافق مع اسم ملف الـ view في مسار resources / views.
  • الوسيطة الثانية عبارة عن مصفوفة array من البيانات يجب إتاحتها لـ method الـ view، في هذه الحالة ، نقوم بتمرير متغير الـ ‘username‘، والذي يتم عرضه في method الـ view باستخدام صيغة Blade.

💡 هنتكلم بالتفصيل عن الـ (Blade syntax) فى مقالات كثيرة!

💡 يجب ألا تحتوي أسماء مسار الـ View على character الـ ( . ).


 

مشاركة البيانات مع كافة طرق الـ View

 

في بعض الأحيان، قد تحتاج إلى مشاركة جزء من البيانات مع جميع طرق الـ View التي يقدمها التطبيق الخاص بك + يمكنك القيام بذلك باستخدام method الـ share، عادة يجب عليك إجراء إستدعائات لمشاركتها داخل method الـ boot، أنت حر في إضافتها إلى AppServiceProvider أو إنشاء service provider منفصل.

 

مثال للتوضيح:

resources/views/name1.php & resources/views/name2.php

<html>
  <body>
      <h4>Hello {{ $username }}!</h4>
  </body>
</html>

app/Http/routes.php

Route::get('/name1', function() {
  return view('name1');
});

Route::get('/name2', function() {
  return view('name2');
});

 app/Providers/AppServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Support\Facades\View;

class AppServiceProvider extends ServiceProvider {
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register(){
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot(){
        View::share('username', 'Hamed');
    }
}

💡 نتيجة الكود السابق ستكون كالتالى:

Hello Hamed!


 

تحسين الـ Views

فى العادى، يتم تجميع methods الـ View عند الطلب، عند تنفيذ طلب يقدم View، سيحدد Laravel ما إذا كانت هناك نسخة مترجمة من الـ View إذا كان الملف موجودًا ، فسيحدد Laravel ما إذا كان الـ View غير المجمع قد تم تعديله مؤخرًا أكثر من الـ View المترجم، إذا كان الـ View المترجم إما غير موجود ، أو تم تعديل الـ View غير المجمع ، فسيعيد Laravel ترجمة الـ View.

يؤثر تجميع الـ Views أثناء الطلب سلبًا على الأداء ، لذلك يوفر Laravel الأمر:

php artisan view:cache

💡 هذا الأمر السابق لإجراء ترجمة مسبقة لجميع الـ View التي يستخدمها تطبيقك لزيادة الأداء.

يمكنك استخدام الأمر view: clear لمسح ذاكرة التخزين المؤقت (cache) للـ View:

php artisan view:clear


الإبلاغ عن خطأ

×

إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:

[email protected]

شكرًا لك على مساعدتك لنا!

Advertisements