How to pass parameters to PHP template rendered with 'include'?
include, parameters, php, templates
Solution
Consider including a PHP file as if you were copy-pasting the code from the include into the position where the include-statement stands. This means that you inherit the current scope.
So, in your case, $param is already available in the given template.
Problem
need your help with PHP templating. I'm new to PHP (I'm coming from Perl+Embperl). Anyway, my problem is simple: - I have a small template to render some item, let it be a blog post. - The only way i know to use this template is to use 'include' directive. - I want to call this template inside a loop going thru all the relevant blog posts. - Problem: I need to pass a parameter(s) to this template; in this case reference to array representing a blog post. Code looks something like this: ``` $rows = execute("select * from blogs where date='$date' order by date DESC"); foreach ($rows as $row){ print render("/templates/blog_entry.php", $row); } function render($template, $param){ ob_start(); include($template);//How to pass $param to it? It needs that $row to render blog entry! $ret = ob_get_contents(); ob_end_clean(); return $ret; } ``` Any ideas how to accomplish this? I'm really stumped :) Is there any other way to render a template?