التعامل مع المتغيرات


#

تسمية المسارات
فى هذا الدرس سنتعلم كيفية تسمية المسارات و هو ما سوف نستخدمه بعد ذلك طوال الوقت حيث انه يسهل عملية التوجية كما سنرى لاحقا.
الان سنضع الكود التالى فى ملف ال wep.php الموجود بالمجلد routes كما تعرفنا من قبل فى الدروس السابقة
Route ::get('/', function () {
return view ('welcome');
});


Route ::get('/about', function () {
return ('This is about Page');
});
تعلمنا مسبقا ان الكود الاول سيعرض محتويات صفحة welcome.blade.php الموجودة فى المجلد views
وان الكود الثانى سيكتب النص This is about Page عند الذهاب الى الرابط /about
الان سنذهب الى الصفحة welcome.blade.php و الموجود فى المجلد resources/views ثم نحذف كل محتوياتها و نكتب الكود التالى
<a href="/about" target="blank">صفحة تعرف علينا</a>
من السابق وهو كود html بسيط للذهاب الى المسار /about انظر الصور التالية
اذا تم وضع المسار فى اكثر من صفحة من صفحات التطبيق الخاص ثم اردت تغيير المسار فانا مضطر ان اعدل المسار فى كل الصفحات المذكور فيها و هذا مضيعة كبيرة للوقت انظر للمثال التالى حيث تم تغيير about الى about_us و بالتالى انا مضطر الى تغييرها فى صفحة welcome و اى صفحة اخرى انا اضفت هذا المسار اليها
Route ::get('/about_us', function () {
return ('This is about Page');
});
بدلا من ذلك يتم تسمية المسار و استدعاؤة عن طريق اسمه فقط مما يسمح لى بتغيير المسار كما احب انظر المثال التالى
Route ::get('/about', function () {
return ('This is about Page');
})-> name('about');
و يتم استدعاؤه عن طريق الاسم فقط {{route('about')}} انظر المثال التالى
<a href="{{ route('about') }}" target="blank">صفحة تعرف علينا</a>



تسمية المسارات ذات المتغيرات
Route ::get('/user/{id}/{slug}', function ($id , $slug) {
return ('This is user # ' . $id . "-" . $slug);
})-> name('user');
فى المثال السابق تم تسمية المسار الذى يحتوى على متغيرات بنفس الطريقة تماما كما فى المسار الثابت و لكن التغيير سيكون وقت الاستدعاء حيث نحتاج ان نمرر له المتغيرات سواء ارقام او نصوص او حتى متغيرات كما فى الكود التالى
<a href="{{ route('user', ['id'=>1, 'slug'=>'Yasser']) }}" target="blank">المستخدم </a>