Monday, 10 April 2006

避免CI controller中的scaffolding出错

试着用CodeIgniter做了个简单的通讯录,基本上是跟着Video Tutorial的内容走。还是挺顺利的,遇到的问题是,在利用scaffolding的时候,update或insert数据的之后,回不到record list这个view。出错信息倒是很清楚,在redirect之前已经有内容被输出。检查下来的原因,是自己的controller文件在?>之后多加了一个空行。多余的空行,通常只是为了源文件书写得好看一些,更多时候是编辑时所遗留下来的。这在通常的编码过程中很常见,也不会有什么影响。不过在CodeIgniter现有的版本中,?>标识之后的内容会被输出到页面上,一旦需要修改header,redirect到其它路径,就会报错。这在PHP中是个常见的问题

对于这个问题,一个办法当然是保持Controller文件没有附加任何多余空格、空行;另外就是,server side打开php.ini中的output_buffering选项,使用输出缓冲以避免出现出错信息,但多余的空格、空行依然会被输出到页面上。

目前的感觉,Code Igniter还是蛮好用的,简洁、易上手,其附带的Document非常不错。当然,也提供了Video Demo教学。

0 Comments:

Post a Comment

<< Home