thinkPHP的自动验证与自动填充

     慢慢的意识到调试程序是一件很痛苦的事情!很多时候甚至都不会有错误提示,我要从哪里开始找这个错误或者是Bug?这两天因为这样的一些问题都有点心力交瘁了!呵呵,任重而道远呀...

1.ThinkPHP不能进行自动完成和自动验证!

    从网上找到一篇文章,ThinkPHP 自动验证与自动填充无效可能的原因,我简单总结下就是:

a.实例化Model的时候要用D()方法,因为M()方法是快速实例化,它只是实例化基础模型类而不会去实现模型类里定义的逻辑,因此 M 方法一般情况下是无法完成自动验证与自动填充的。

b.自动完成和自动验证都是在create()时实现的,所以在控制器中不能省去create()方法(当然,默认从表单传来数据,我们一般不会省去这个,除非你要自己写$_POST()来取得值保存到data[]数组中,然后再用模型的add(data)方法把数据添加到数据库)。

c.表单中元素的name属性命名与模型或者数据库中的字段没有对应上。

d.Model命名错误。

    这些错误看起来都很低级,我想大多数人应该和我一样会小看这些错误,但错误往往还真的就是在这些最基础的东西上面!就比如说我,由于没有仔细看手册,以为弄明白了模型的命名规则,就自以为是的将photo这表对应的模型命名为:PhotoModel.php,P大写,M大写...咋一看还真的没什么错误,但实际上掉了个class,正确的应该是PhotoModel.class.php。当时还仔细看了手册中"模型命名"这一节,但由于里面只字未提class,也没有一个完整的模型命名可供参考,我竟天真的认为我写的没错。后来是看到ThinkPHP中的源码示例的时候才发现原来是自己的模型命名错误了!

2.ThinkPHP的验证码不能正常显示了

    验证码这个实际上是早就解决完了的,但昨天再看的时候发现验证码不能显示了!这个也一样,没有任何错误提示~由于最开始写好的时候测试是没有问题的,而且后来我做其他模块,也没动过验证码这个地方,等在回头去看的时候发现它出问题了!从手册中看到有提到验证码不能显示的:

 

如果无法显示验证码,请检查:

²  PHP 是否已经安装 GD 库支持;

²  输出之前是否有任何的输出(尤其是 UTF8 的 BOM 头信息输出);

²  Image 类库是否正确导入;

²  如果是中文验证码检查是否有拷贝字体文件到类库所在目录;

GD库肯定没问题,这个检查过了,而且在ThinkPHP示例中心的验证码是可以显示的;UTF8的BOM头?不明白这个是什么,但知道保存的时候选择的是无BOM头的UTF8编码格式的;Image类库导入之后就没改动过,而且从Eclipse中能认到调用的Image类库的所在路径(就是把鼠标放到Image实例化类的方法上,能看到这个Image类和方法的一些信息,试想如果导入错误的话,Eclipse能认到么?);最后一个,我用的纯数字,没用到中文~

于是乎,到现在我的这个问题还是没有解决,得抽点时间再看一下了!

 

 

3.新浪微博的应用出了点问题!

a.将自己新浪微博的描述改为含有PHP语句的了,于是乎问题就来了,没想到这个到前台显示的时候居然被解析了,当然,没加转义啥的,它肯定就解析了,就跟你在编辑器的源代码模式下输入Html代码,再切换到试图模式下Html就能被解析,而不是显示你希望看到的Html代码...这是一个道理!于是修改了读取微博信息的代码,将读取文字的地方都加了转义,现在倒是正常了!

b.Maximum execution time of 30 seconds exceeded

   这句就是提示你操作在30秒内没有执行完,超时了!从用户的角度来讲,等待30秒(30秒是默认的)才打开一个网页那是不可想象的,所以服务器也不会让用户一直等下去,它得有个时间限制,过了这个限制就给出超时提示。但是如果我的应用确实不能在30秒内执行完毕那该怎么办呢?就比如说我的这个,从新浪微博的API读取我的微博数据,处理之后生成Html写入到用来缓存的文件中,然后调用的时候直接include这个缓存文件就行了!刚看了一下,写入的一个文件居然有60多K,另外就是新浪微博的API本来就限制瞬间大量数据读写的,这个操作慢还是情有可原的!解决办法:

set_time_limit(),设置超时的,参数单位是秒,可以将它设大点!如果设为0表示没有超时限制;优化读取的数据,减小数据量。比如说,将转发的那个原文链接去掉,默认读取200条微薄改为读取100条...

c.user requests out of rate limit

    百度了一下才知道这个是新浪微博对API调用的限制,原来刚才我多做了几个测试,数据量有点大了~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值