现在,我只是将数据发送到页面模板,但我认为将所有逻辑与页面标记一起使用并不好,尤其是因为我想在页面上使用多种形式,导致甚至更多与页面视图无关的代码。在另一个cms(具体)中,我设置了指向自定义控制器以处理表单数据的路由,我是否可以做类似的事情,或者在wordpress中有不同的方法?
答案 0 :(得分:0)
我首先将控制器逻辑与html模板分开。以Timber为例:https://github.com/timber/timber
然后,您的页面模板将看起来更像是一个控制器,您可以避免混乱的代码来处理一个文件中的所有内容。
您的页面模板可能如下所示:
<?php
$data = Timber::get_context();
$data['page'] = $page;
if (isset($_POST['whatever']))
{
$data['whatever'] = 'It works!';
Timber::render('views/whatever-posted.twig', $data);
}
else
{
Timber::render('views/landing.twig', $data);
}
IMO,它比混合使用PHP / HTML更加简洁