你的错误和函数的具体实现无关,是调用错误。
如果是在类本身调用应该$this->assign ($t_array, $trailer="");
如果实在实例中调用应该是
$instance = new instance();
$instance->assign ($t_array, $trailer="");
如果是在类本身调用应该$this->assign ($t_array, $trailer="");
如果实在实例中调用应该是
$instance = new instance();
$instance->assign ($t_array, $trailer="");
$t->assign(
array(
'title' =>$title,
'fid' =>$fid
))
对不?
ob_end_flush();这个又是什么意思?
表示打开输出缓冲,就是说你的输出将输出的到缓冲中,不会直接显示出来
你还可以对缓冲区中的数据继续操作ob_end_flush();
表示释放输出缓冲,就是说把缓冲区的东西都显示啦
我是在实例中调用的。
$t=new template("moban");
$t->assign(
array(
'title' =>$title,
'fid' =>$fid //后面还有省略
))
对不?
如果要操作,一般是怎么样的呢?
$t=new template("moban");
$t->assign(
array(
'title' =>$title,
'fid' =>$fid //后面还有省略
))
对不?对于这个调用首先函数assign应该是template("moban")中的一个函数,如果不是的肯定找不到,一个类没有这个函数,你硬说这个类有这个函数,类不会报错吗?肯定会
测试:
<?php
class A {
function assign ($t_array, $trailer="")
{
if(gettype($t_array) == "array")
{
while ( list ($key,$val) = each ($t_array) )
{
if (!(empty($key)))
{
// Empty values are allowed
// Empty Keys are NOT
$this->PARSEVARS["$key"] = $val;
}
}
}
else
{
// Empty values are allowed in non-array context now.
if (!empty($t_array))
{
$this->PARSEVARS["$t_array"] = $trailer;
}
}
}
}$fool = new A;
$fool->assign(array(a=>123,b=>"abc"));
print_r($fool);
?>
结果
a Object
(
[PARSEVARS] => Array
(
[a] => 123
[b] => abc
))根据你给出的错误信息
Call to undefined function: assign()
应该是该类的这个方法的上一个方法定义有误,把该方法包进去了