首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mustache.php中替换php switch语句的简单方法?

在mustache.php中替换php switch语句的简单方法?
EN

Stack Overflow用户
提问于 2012-10-03 04:08:43
回答 1查看 512关注 0票数 0

我正在努力弄清楚如何用Mustache.php做一些常见的事情。此时,我正在尝试替换模板中的原生php switch语句。

给出一个"status“标志,例如'A'表示活动,

和一组显示选项,如A => Active, I => Inactive, P=>Pending, D=>Deleted

如何通过修改模板中的数据在Mustache.php中创建漂亮的显示字符串?

代码语言:javascript
复制
$users = array(
array('username'=>'william', 'status'=>'A', 'date_created'=>'7-01-2012'),
array('username'=>'john', 'status'=>'P', 'date_created'=>'5-17-2012')
);
EN

回答 1

Stack Overflow用户

发布于 2013-01-11 01:34:11

Mustache的全部要点是让你的模板从所有逻辑中清理出来。胡子模板应该是无逻辑的。对于新手来说,这是一种完全不同且令人困惑的方法。

要解决您的问题,您需要预先重新处理$users数组,以包含Mustache模板所需的所有内容。例如,如果视图字段switch语句的目的是显示人类可读的状态,那么您的status类应该如下所示:

代码语言:javascript
复制
class View_User {

    public $_users;

    public function users()
    {
        $users = array();
        foreach ($this->_users as $user)
        {
            $user->status_label = // Use your 'switch' statement here
            $users[] = $user;
        }
        return $users;
    }
}

然后你的Mustache模板需要做的就是像这样输出{{status_label}}

代码语言:javascript
复制
<ul>
    {{#users}}
        <li>Status: {{status_label}}</li>
    {{/users}}
</ul>

将您的逻辑包含在视图类中,并保留Mustache模板中的无逻辑。以这种方式分离的UI代码使得以后的维护和重构变得非常容易。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12697508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档