TP5 错误集合

来源:互联网 发布:js小于或等于 编辑:程序博客网 时间:2024/06/04 09:49

以下都是个人在使用的时候遇到的错误,其中的解决方案仅供参考:

多看手册,如果按照手册没成功,要么是忽略了细节,要么是理解不正确。


1.未定义的数组索引

查询数据库,where条件是个数组,接收的是POST传来的数据,我查询的是‘passwd‘=>$_POST['passwd] 实际上传过来的是 password,然后就一直报错passwd是未定义的数组索引。


2.自己定义的验证类不存在

系统有定义好的验证类,手册上说可直接使用。

如果非要自定义,看手册上有明确的例子 定义一个用于验证的User类 注意他的命名空间是 app\index\validate  也就是 验证类放在 application\index\validate 中 即 index模块下的validate文件夹中

比如我定义了一个 Validateforadmin验证类,命名空间是 app\admin\validate

模块里没有validate文件夹 就要新建文件夹。

然后 到model 里 两种方法调用刚才创建的 Validateforadmin.

首先要应用相应的命名空间,其实就是调用 验证里的check方法进行验证, 如果失败会返回错误信息,至于错误信息返回怎么处理,自己发挥。


3.验证码生成错误

如果模版上验证码是一个没有显示的图片,那么把配置文件验证码的中的背景图片改成false。

如果是Call to undefined function captcha_src() 或者 Call to undefined function captcha_img() ,去看项目根目录下的vendor文件夹是否为空,这个文件夹放的是扩展类库,里面有个gitignore,会忽略所有文件,如果你是用git拉下来的项目,这里面应该是空的,去下载一个对应版本的tp包,把对应文件夹里的东西放进来即可。

如果vendor不为空,那就用composer下载对应的类库。我遇到的这个问题的原因是,在公司部署的项目,上传到gitlab上,然后回到家直接clone下来,然后登录模版上的验证码就提示未定义的方法,到类库一看,原来类库没有上传,因为有gitignore文件,忽略所有新增......


4.找不到表的模型,提示类不存在

表名带下划线:tp_admin_menu_list,实例化对应模型找不到model

我定义的模型如下:


错误信息提示如下:


查看报错的路径是common\model ,我自己建立的model在对应的目录下,怎么还跑common文件夹里找了,表的下划线呢?难道是模型的命名不对?查看官方文档:


表名 tp_admin_menu_list 对应的模型类名和文件名都应该是AdminMenuList。




如果对你有帮助,请点个赞,谢谢

原创粉丝点击