我在玩CodeIgniter;希望将一些旧的,丑陋的PHP转换为更易于维护的框架。但是,我遇到了一个相当令人沮丧的障碍 - 我似乎无法在我的观点中定义方法。任何时候我尝试我得到一个完全空白的页面,当我查看调试日志时,处理似乎在视图加载后停止。我可以在视图中定义方法吗?如果没有,为什么,你会建议什么样的解决方法?
注意:该方法与格式化输出字符串有关。
答案 0 :(得分:11)
在helper中定义您的函数并从控制器加载它们。这样你就可以在其他视图中重用这些函数。
答案 1 :(得分:0)
我不熟悉CodeIgnitor,但它可能会多次包含您的模板。尝试将您的功能包装在支票中:
if (!function_exists('myfunc'))
{
function myfunc() {}
}
CodeIgnitor可能吞下错误,所以你也可以在你的函数之前尝试刷新缓冲区:
while(ob_end_flush()){}
error_reporting(E_ALL);
ini_set('display_errors', 1);
实际上,你应该让你的字符串格式代码更通用一些。您的模板不是开始添加功能的好地方。你将开始复制代码,它完全没有模板的目的。我建议尝试使用CodeIgnitor的Helpers和Plugins
答案 2 :(得分:0)
视图并不意味着调用控制器操作。反转逻辑,在控制器中调用该函数并将其设置为发送到视图的变量。然后,您可以让if语句在视图模板中检查该变量。
如果这对您不起作用,也许您需要帮助:http://codeigniter.com/user_guide/general/helpers.html