2011-11-05 50 views
1

基本上我想创造的东西,让我做这件事:如何在PHP中创建分段的foreach()函数?

<?php 
function herp(){foreach($users as $user):} 
function derp(){endforeach;} 
?> 


<html><body> 
<?php herp();?> 

<?php $user->name();?>,<?php $user->name();?>,<?php $user->name();?> 

<?php derp();?> 
</body></html> 



--------- output --------- 

John Doe, 1900, Buttery Yellow 
Jane Doe, 1900, Platypus Brown 

我不想创建或依赖模板引擎。我只是想让它创建页面模板的人可以为他提供循环。

+1

'make'绝对不是一个恰当的标签! –

+0

结帐[小胡子](http://mustache.github.com/) - https://github.com/bobthecow/mustache.php – hakre

+0

你不能像这样分割出一个'foreach','endforeach'就是预计将在相同的范围内。 – CodeCaster

回答

0

这是可能的,实际上很受欢迎。您需要使用templating engine

它的功能基本上允许您将编程从设计中分离出来。在这种情况下,来自HTML的PHP​​。如果你想要一个简单的,我建议Rain。来自网站的示例:

//PHP 
include "inc/rain.tpl.class.php"; //include Rain TPL 
raintpl::$tpl_dir = "tpl/"; // template directory 
raintpl::$cache_dir = "tmp/"; // cache directory 

<!--HTML--> 
My age is {$age} // 30 

and also use = for assign a value to a variable 

{$year=30} 
My age is {$age+$year} // 60 

You can use functions with variables 

My name is {$name|substr:0,3} // Rai 
+1

我只是喜欢人们如何在PHP之上创建模板引擎,这是一个开始的模板。哟dawg ... –

+0

@ MarcB我同意这一点,但你不能否认他们是有用的hommie。 – amosrivera

+0

我不想使用已经建立的模板引擎。我只是想知道如何去分割一个循环,以便循环的开始被一个var或函数调用,并且循环的结尾被调用相同的方式。 – RTHNBrakes