در قسمت های قبل یاد گرفتیم سیمفونی رو نصب و کانفیگ کنیم و همچنین یاد گرفتیمن تا اولین صفحه خودمون رو بسازیم در این قسمت نیز بهتون آموزش میدم تا بتونید از تمپلت انجین Twig در سیمفونی استفاده کنید.
اگر کنترولر ما خروجی HTML بازمیگرداند نیاز خواهیم داشت تا از تمپلت انجنین استفاده کنیم.
استفاده از تمپلت انجین باعث جدا شدن کدهای بکند (پی اچ پی) از فرانت اند (اچ تی ام ال و سی اس اس و…) میشه و هم به لحاظ امنیت خوبه هم باعث میشه کار طراحان قالب نیز راحت باشه و درگیر کدهای پی اچ پی نباشن.
در آموزش قبل یک صفحه درباره ما ساختیم حالا میایم و اونو با تمپلت انجین میسازیم.
خب کار اول اینه که کنترولری که براش نوشتیم رو یکسری تغییرات بدیم.
کداتون رو بصورت زیر تغییر بدید.
<?php namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpFoundation\Response; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class AboutController extends Controller { /** * @Route("/about") */ public function showAction() { $text = 'این متن صفحه درباره ما است.'; return $this->render('about/text.html.twig', array( 'text' => $text, )); } }
توضیحات: در کد بالا ابتدا کلاس خودمون (AboutController) رو از کلاس Controller سیمفونی extend کردیم؛ اینکار برای دسترسی به متدهای کلاس کنترولر خود سیمفونی نیاز است.
کدهای قبلی داخل متد showAction رو تمام پاک کردیم و یک متغییر بنام text تعریف کردیم و متنی / کد html که می خواهیم میتوانیم درون آن قرار دهیم.
در خط بعدی با متد render ابتدا فایل htmlیی که میخواهیم نمایش دهیم رو مسیرش رو مشخص میکنیم و اطلاعات لازم رو بصورت آرایه بهش پاس میدیم.
توجه داشته باشید که من در آرایه بالا هر کلیدی که قرار دهید با آن میتوانید در بخش قالب به آن دسترسی داشته باشید.
خب حالا به مسر زیر برید:
app/Resources/views
و یک دایرکتوری بنام about بسازید و سپس در داخل آن یک فایل با نام about.html.twig بسازید.قسمتی که با رنگ قرمز مشخص کردم ثابت هستش و میبایست برای همه فایلهای view خود اونو قرار بدید.حالا فایل about.html.twig را باز کنید و کدهای زیر رو درونش قرار بدید.
<h1 style="color: #66dd66"> {{ text }} </h1>
حالا پروژه رو اجرا کنید و آدرس زیر رو در آدرس بار مرورگر وارد کنید.
http://127.0.0.1:8000/about
اگر همه چیز را درست انجام داده باشید با متنی که در قسمت کنترولر واردکردید مواجه خواهید شد.(همانند تصویر زیر).
اگر مایل به اضافه شدن آموزشها بصورت ویدئویی هستید لطفا حمایت کنید.
سوالات خودتون رو در بخش پرسش و پاسخ مطرح کنید.