我正在玩CodeIgniter;希望将我的一些旧的,丑陋的PHP转换成更易维护的框架。然而,我遇到了一个相当令人沮丧的障碍 - 我似乎无法在我的观点中定义方法。任何时候,我都会得到一个完全空白的页面,当我查看调试日志时,处理在加载视图后似乎停止。我可以在视图中定义方法吗?如果没有,为什么,以及你会建议什么解决方法?CodeIgniter不喜欢视图中的方法?
注意:该方法必须处理格式化输出字符串。
我正在玩CodeIgniter;希望将我的一些旧的,丑陋的PHP转换成更易维护的框架。然而,我遇到了一个相当令人沮丧的障碍 - 我似乎无法在我的观点中定义方法。任何时候,我都会得到一个完全空白的页面,当我查看调试日志时,处理在加载视图后似乎停止。我可以在视图中定义方法吗?如果没有,为什么,以及你会建议什么解决方法?CodeIgniter不喜欢视图中的方法?
注意:该方法必须处理格式化输出字符串。
在helper中定义你的功能,并从控制器加载它们。这样你也可以在其他视图中重用这些函数。
我不熟悉CodeIgnitor,但它可能会多次包含您的模板。尝试在检查包裹你的函数:
if (!function_exists('myfunc'))
{
function myfunc() {}
}
CodeIgnitor可能是吞咽的错误,所以你也可以尝试立即与函数之前刷新缓冲区:
while(ob_end_flush()){}
error_reporting(E_ALL);
ini_set('display_errors', 1);
在现实中,虽然,你应该让你的字符串格式化代码更通用一点。你的模板并不是开始添加函数的好地方。你将开始复制代码,并且它完全不符合模板的目的。我建议试验CodeIgnitor的Helpers和Plugins
视图并不意味着调用控制器操作。颠倒你的逻辑,在控制器中调用该函数,并将其设置为发送给视图的变量。然后你可以让if语句在你的视图模板中检查这个变量。
如果不为你工作,也许一个帮手是你所需要的:http://codeigniter.com/user_guide/general/helpers.html
它是可能的视图来定义功能 - 我已经没有任何问题之前完成它。我需要更多信息来诊断问题。 – 2008-12-08 12:10:09
这是可能的。我知道,这是我为我的观点所做的。 – 2009-03-20 06:30:16