小胡子 php gettext()

发布于 2024-11-08 22:51:50 字数 291 浏览 0 评论 0原文


我正在尝试 kostache,“kohana 框架的胡子”。

有什么方法可以在 Mustache 模板文件中使用简单的 PHP 函数。
我知道逻辑,因此方法违反无逻辑设计原则,但我谈论的是非常简单的功能。

例如:

  • gettext('some text')__('some text')
  • 获取基本 url;在 kohana -> Url::site('控制器/操作')

I am experimenting with kostache, "mustache for kohana framework".

Is there any way I can use simple PHP functions in mustache template files.
I know logic and therefore methods are against logic-less design principle, but I'm talking about very simple functionality.

For example:

  • gettext('some text') or __('some text')
  • get the base url; in kohana -> Url::site('controller/action')

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

開玄 2024-11-15 22:51:50

Bobthecow 正在开发一项实验性功能,该功能允许您将函数作为回调调用。

查看 higher-order-sections 分支存储库和与之配套的票据

Bobthecow is working on an experimental feature that will allow you to call a function as a callback.

Check out the higher-order-sections branch of the repository and the ticket to go with it.

坚持沉默 2024-11-15 22:51:50

您可以使用“ICanHaz”http://icanhazjs.com/

,然后您可以将胡子模板声明为

<script id="welcome" type="text/html">
<p>Welcome, {{<?php echo __('some text') ?>}}! </p>
</script>

You could use "ICanHaz" http://icanhazjs.com/

and then you can declare your mustache templates as

<script id="welcome" type="text/html">
<p>Welcome, {{<?php echo __('some text') ?>}}! </p>
</script>
浮云落日 2024-11-15 22:51:50

好吧,您现在可以使用 Bobthecow 的 Mustache Engine 实现来做到这一点。这里我们需要匿名函数,它们与其他数据一起传递给模板对象。

看一下下面的示例:

<?php
$mustache = new Mustache_Engine;
# setting data for our template
$template_data = [
    'fullname' => 'HULK',
    'bold_it' => function($text){
        return "<b>{$text}</b>";
    }
];
# preparing and outputting
echo $mustache->render("{{#bold_it}}{{fullname}}{{/bold_it}} !", $template_data);

在上面的示例中,“bold_it”指向我们的函数,该函数与其他数据一起指向我们的模板。 “fullname”的值作为参数传递给此函数。

请注意,在 Mustache 中传递参数不是强制性的。您甚至可以调用不带任何参数的 php 函数,如下所示:

<?php
# setting data for our template
$template_data = [
    'my_name' => function(){
        return 'Joe';
    }
];
# preparing and outputting
echo $mustache->render("{{my_name}} is a great guy!", $template_data); # outputs: Joe is a great guy!

Credits: http://dwellupper.io/post/24/calling-php-functions-for-data-in-mustache-php

Well, you can do this now with Bobthecow's implementation of Mustache Engine. We need anonymous functions here, which are passed to the Template Object along with other data.

Have a look at the following example:

<?php
$mustache = new Mustache_Engine;
# setting data for our template
$template_data = [
    'fullname' => 'HULK',
    'bold_it' => function($text){
        return "<b>{$text}</b>";
    }
];
# preparing and outputting
echo $mustache->render("{{#bold_it}}{{fullname}}{{/bold_it}} !", $template_data);

In the above example, 'bold_it' points to our function which is pasalong withwith other data to our template. The value of 'fullname' is being passed as a parameter to this function.

Please note that passing parameters is not mandatory in Mustache. You can even call the php function wothout any parameters, as follows:

<?php
# setting data for our template
$template_data = [
    'my_name' => function(){
        return 'Joe';
    }
];
# preparing and outputting
echo $mustache->render("{{my_name}} is a great guy!", $template_data); # outputs: Joe is a great guy!

Credits: http://dwellupper.io/post/24/calling-php-functions-for-data-in-mustache-php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文