استثمر للحياة

مواضيعنا

الموجه Route و العرض View

حجم الخط

 العرض View و الموجه  Routes 




نحن نعرف ما هو المسار هو ما يكتب فى المتصفح كعنوان للموقع أو URL"Uniform Resource Locator"    فمتلا اذا كتبنا  http://investolife.com فهذا مسار و أيضاً  http://investolife.com/inv هو مسار ,  يهمنا هنا ان نعرف كيف نرمز للمسار فى Laravel   فالمسار الاول و الذي  يمثل الصفحة الرئيسية  نرمز له بالرمز / أما الثاني فيمثل مجلد داخلي فهو  inv/ و هكذا . كان لابد من المقدمة المقدمة لنتعرف على الروت .

راجع ما هو Routes

 


دعنا نعرف ما هي آلية عمل الرَاوت  Route في Laravel , الصورة توضح أن التعليمات ترسل من المتصفح إلى الرَوت , و يقوم الراوت أما بتنفيذها مباشرة أو بارسالها الى  View   أو  Controller حسب الحالة . و Controller بدوره يتعامل مع View   أو     Model و هو أي - Model - الوحيد الذي يتعامل مع قواعد البيانات .

أجل دعنا نرى ماذا يعمل الرَوت ..... ندخل مجلد  Laravel  على السيرفر المحلي .... نفتح مجلد  app, نجد ملف باسم  routes.php  نفتحه على محرر النصوص سنجد

و هذا يدل على تعامل Route  مع  View  .... حسنًا ما معنى السطر الاول معناه : ايها البرنامج  Route::   ( أي وجهه  مستخدما get) المسار ‘/’     ( و هو المسار الرئيسى " الصفحة الرئيسة " ) إلى محتوى الدالة () function   و هو السطر الثاني و الذي يقول لنا : إِرجع لنا  return شاشة عرض View::make تحتوي على الملف hello.php   و هو ملف سيكون موجود فى مجلد app\views  . فتظهر لنا الصفحة الرئيسية كما بالصورة

laravel


نلاحظ اننا
لم نكتب فى الدالة .php   بل اكتفينا باسم الملف hello فقط .
لم نذكر اسم المجلد app و لا views  لانه امر ثابت و معروف في لارافل . بمعني أن أي ملف تريد تنفيذه يجب ان يكون فى app\views .
Route و  View الحرف الاول فيهم حرف كبير , كما ينتهيان بـ ::  دائماً و ابداً
الدالة  get  تأخذ بارامترين ، البارامتر الأول وهو المسار   أو الرابط  اوURL  والبارامتر الثاني وهو عبارة عن دالة لعرض ما نُريد فى هذا العنوان أو المسار   أو الرابط  او URL   .
اذا دخلنا المجلد  app\views  و  قمنا بفتح الملف  hello.php    سنجد أنه يحتوي على أكواد  CSS و  HTML  و ربما     PHP عادية .
الصفحة الرئيسية فى المشروع لها اسم  public  بمعنى مسارها سيكون localhost/laravel /public
 

التعامل مع الرَاوت  Route


حسناً دعنا نبعد عن View   الآن و نتعامل مع الرَوت  Route  بشكل منفرد عن View
فى الكود التالي  قمنا بتغيير قيمة البارامتر الأول فى get ،    للمسار  go   مثلاً , و فى السطر  الثاني قمنا بوضع عِبارة   Hello World   فيصبح الكود  كالتالي:

ندخل للمسار  localhost/laravel/public/go ستجد كلمة Hello World و هذا معناه أن الكود الذي كتبناه بداخل الدالة الموجودة فى البارامتر الثاني تم تنفيذه مباشرةً و بدون الارتباط بـ View .
هذا و  يمكن استخدام  postبدلا من get

 
كما أننا  نستطيع تمرير متغير فى الصفحة بـإضافة اسم المتغير بين قوسين {} في أ ى مكان فى البارامتر الأول ، ومن ثم تمرير هذا المتغير كـ Argument  فى الدالة -البارامتر الثاني -  ومن ثم تنفيذ عمليات على هذا المتغير فى الصفحة. كالمثال التالي:


الآن نكتب في المتصفح   localhost/laravel-master/public/go/Ahmed     سيظهر على الشاشة

Hello   Ahmed    

حيث أنه يمكنك فى الرابط كتابة أى اسم تريده وسيتم عرضه فى الصفحة . نلاحظ اننا لم نستخدم View
هذا ويمكن تمرير اكثر من متغير مع النحكم فى المتغير    $name بحث تكون مدخلاته حروف فقط   و المتغير  $idارقام فقط

راجع التعبيرات القياسية

كما يمكن استخدام  Route::pattern  شاهد مثال مبتكر


التعامل مع Route وView


الآن نعود مرة آخرى لاستخدام View . ماذا إذا كنا نُريد أن نقوم بكتابة ملف منفصل فيه كود من تصميمنا  لعرض ما نُريد كما الحال فى الصفحة الرئيسية public

راجع ما هو View


 دعنا ندخل مجلد  Laravel  على السيرفر المحلي .... نفتح مجلد  app ثم  مجلد views , و نقوم  بإنشاء مجلد جديد بداخله , بإسم pages    مثلاً    ثم نقوم بإنشاء ملف بداخله يسمى .phpmyfile   العِبارة  Hello     و نقوم بحفظه و هنا لابد من استخدام   Viewمرة أخرى لعرض الملف .. نذهب إلى ملف  Routes.php   في مجلد app  و نكتب التالي   :



لاحظ ان

اسم المسار file  هو الذى سيكتب فى الرابط  هكذا localhost/laravel/public/file
استخدمنا View::makeلاستدعاء الملف myfile  الموجود في مجلد   pages   لذا كتبنا 'pages.myfile’و كان يمكن كتابتها 'pages/myfile’ايضاً.
و من الجدير بالذكر إنه يمكن تمرير متغير ما داخل شاشة العرض الخاصة بنا Viewعن طريق خطوتين . الاولى نضيف للكود اسم المتغيرمع المسار و مع الدالة Function   و كذلك الدالة with  ليصبح هكذا


و الثانية نكتب فى ملف pages/ myfile    السطر التالي 

<? Hello -- <?php echo $name

فإذا كتبنا المسار

  /public/file/ahmed

سنرى الناتج

Hello - - ahmed

 


 

الموضوع  :  *الموجه Route  و العرض View* المرجع : استثمر للحياة  investolife 

اعلان تجاري
اعلان 468