【发布时间】:2010-10-24 17:48:27
【问题描述】:
好的, 所以 printf/sprint/vprintf 都接受某种类型说明符语法 %[num][type]。 (http://us2.php.net/sprintf 参见示例 3 和 4)其中 num 是类型的索引。
示例: vprintf('数字 %1$d 字符串 %2$s. 字符串 %2$s, 数字 %1$d',array(1,"no"));
是的,它是有限的……而且您需要维护索引。但它是该语言的原生语言,而且(我认为)速度很快。
我只是想了解一下这对第二阶段的用处有多大用处:http://www.techfounder.net/2008/11/18/oo-php-templating/。
(如果有人知道 printf/vprintf 的速度,将不胜感激)
我正在谈论的完整示例:
frontpage.php:
<html>
<head>
<title> %1$s </title>
</head>
<body>
Hello %2$s! You have reached page: %1$s!
</body>
</html>
whatever.php:
ob_start();
include frontpage.php;
$ob_output = ob_get_clean();
vprintf($ob_output,"Page Title","Bob");
【问题讨论】:
-
"echo" 比 "print" 快 "echo" 接受多个参数,你可以用它来代替字符串连接alexatnet.com/node/196
-
我正在谈论的完整示例:frontpage.php:
<html> <head> <title> %1$s </title> </head> <body> Hello %2$s! You have reached page: %1$s! </body> </html>whatever.php:ob_start(); include frontpage.php $ob_output = ob_get_clean(); vprintf($ob_output,"Page Title","Bob"); -
... 好的,所以反引号在 cmets 中不起作用。对不起。
-
我想重申这不会是模板的主要来源。这将是替换键字符串等的第二阶段。techfounder.net/2008/11/18/oo-php-templating我喜欢这种模板方式,它会完成繁重的工作。
标签: php function templates templating