Symfony မူဘောင်သည် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်လူကြိုက်အများဆုံးမူဘောင်များထဲမှတစ်ခုဖြစ်သည်။ Developer များဖွံ့ဖြိုးတိုးတက်ရေးထိရောက်မှုကိုတိုးတက်စေရန်အတွက်စွမ်းအားများစွာနှင့်ကိရိယာများကိုထောက်ပံ့ပေးသည်။ Symfony မူဘောင်တွင် Twig Template အင်ဂျင်သည် default view engine ဖြစ်ပြီး၎င်း၏ဒီဇိုင်းအယူအဆသည်တင်းပလိတ်၏ရိုးရှင်းမှုနှင့်ဖတ်နိုင်မှုကိုထိန်းသိမ်းရန်ဖြစ်သည်။ ဤဆောင်းပါးသည် SymFony မူဘောင်တွင်အမြင်များကိုတုံ့ပြန်ရန် Twig Template Engine ကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။
ပထမ ဦး စွာသင်သည် twig အထုပ်ကိုတေးရေးဆရာမှတဆင့် install လုပ်ရန်လိုအပ်သည်။ Terminal ကိုဖွင့်ပါ, သင်၏ Symfony Project directory ကိုရိုက်ထည့်ပါ။ အောက်ပါ command ကို execute လုပ်ပါ။
composer require twig/twig
Composer သည် Twig Package ကိုစီမံကိန်း၏ရောင်းချသူလမ်းညွှန်ထဲသို့အလိုအလျောက်ဒေါင်းလုတ် လုပ်. တပ်ဆင်လိမ့်မည်။
Symfony မူဘောင်တွင် Twig Template Engine ကို configure လုပ်ရန်လိုအပ်သည်။ စီမံကိန်းအတွင်းရှိ `config / packages များ / twig.yaml` ဖိုင်ကိုဖွင့ ်. အောက်ပါ configuration ကိုထည့်ပါ။
twig:
default_path: '%kernel.project_dir%/templates'
အထက်ပါ configuration သည် twplates ၏ directory သို့ပုံမှန် twigplate ဖိုင်၏ပုံမှန်လမ်းကြောင်းကိုညွှန်ပြသည်။
`Hello.html.twig` ကဲ့သို့သော` templates directory တွင် twigplates directory တွင် twigplate ဖိုင်အသစ်တစ်ခုကိုဖန်တီးပါ။ ဤဖိုင်တွင် template code ကိုရေးရန် Twig ၏ syntax ကိုသုံးနိုင်သည်။
နမူနာကုဒ်:
<!DOCTYPE html> <html> <head> <title>{{}}}</title> </head> <body> <h1>မင်္ဂလာပါ, {{အမည်}}}!</h1> </body> </html>
အထက်ဖော်ပြပါကုဒ်သည်ရိုးရှင်းသော HTML စာမျက်နှာတစ်ခုဖြစ်ပြီး Twig ၏နှစ်ထပ် -racket syntax ကို အသုံးပြု. variable များကိုထည့်သည်။ အဆိုပါ variable ကိုနောက်ဆက်တွဲခြေလှမ်းအတွက် template ကိုမှလွန်သွားလိမ့်မည်။
Symfony တွင် Controller သည်တောင်းဆိုမှုကိုကိုင်တွယ်ပြီးပြန်ဆိုသည့်အမြင်ကိုပြန်ပို့သည်။ Twig Template အင်ဂျင်ကို Controller ထဲမှသုံးရန်အတွက်ကျွန်ုပ်တို့သည် twigplate ကိုချက်ချင်း နှိပ်. template နှင့် data များကိုပြန်ဆိုရန်လိုအပ်သည်။
နမူနာကုဒ်:
use
SymfonyBundleFrameworkBundleControllerAbstractController;
use
SymfonyComponentRoutingAnnotationRoute;
use
TwigEnvironment;
class
HelloController
extends
AbstractController
{
/**
* @Route("/hello/{name}", name="hello")
*/
public
function
index(Environment
$twig
,
$name
)
{
$template
=
'hello.html.twig'
;
$data
= [
'title'
=>
'Hello'
,
'name'
=>
$name
];
return
$twig
->render(
$template
,
$data
);
}
}
အထက်ဖော်ပြပါကုဒ်များတွင် Shedocontroller ဟုခေါ်သော Controller ကိုဖန်တီးပြီးတောင်းဆိုမှုကိုကိုင်တွယ်ရန် `index` နည်းလမ်းကိုသတ်မှတ်ပါ။ ဤနည်းလမ်းသည် `twigenvironmonment` ဥပမာတစ်ခုနှင့်တောင်းဆိုမှု parameter သည်ကိုလက်ခံသည်။ နည်းလမ်းအတွင်း၌ကျွန်ုပ်တို့သည် `$ twigig-> render ()` methent () `method ကိုမှတဆင့်သတ်မှတ်ထားသော template ကို ပေး. Rendering ရလဒ်ကိုအသုံးပြုသူအားပြန်ပို့ပါ။
အထက်ပါအဆင့်များနှင့်အတူ Twig Template အင်ဂျင်ကို SymFony မူဘောင်တွင်ကြည့်ရှုရန်မည်သို့အသုံးပြုရမည်ကိုသင်လေ့လာသင်ယူခဲ့သည်။ Twig Template အင်ဂျင်သည်အမြင်ဖွံ့ဖြိုးတိုးတက်မှု၏ထိရောက်မှုကိုထိထိရောက်ရောက်တိုးတက်အောင်ပြုလုပ်နိုင်သည့် template အမွေဆက်ခံခြင်း, ထိန်းချုပ်မှုထုတ်ပြန်ချက်များနှင့်ထည့်သွင်းထားသောစစ်ထုတ်စက်များကဲ့သို့သောအစွမ်းထက်သောလုပ်ဆောင်မှုများကိုပေးသည်။ ဒီဆောင်းပါးကဒီဆောင်းပါးက symfony and twig ကိုပိုကောင်းအောင်နားလည်နိုင်ဖို့ကူညီနိုင်မယ်လို့မျှော်လင့်ပါတယ်။