学习thinkphp有半个月多了,首先入门的是做一个博客系统,跟着老师的教学,把原生的blog改成tp版的blog系统,之后用tp做了一个类似商业的网站(六堡茶官网),对thinkphp更深入的学习了一番。 总的来说这个框架学起来还是蛮容易接受的,学习框架对于程序的开发来说缩短了周期,简化了操作步骤。 比如输入直接是: I('post.name','','htmlspecialchars') 单字母函数比如I、D、U、A、M等,使用起来非常方便。 链接数据库可以用数组直接: 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'thinkphp', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => '123456', // 密码 'DB_PORT' => 3306, // 端口 'DB_PREFIX' => 'think_', // 数据库表前缀 'DB_CHARSET'=> 'utf8', // 字符集 'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志 3.2.3新增 简单设置就可以愉快的进行网站开发了。 实例化数据表可以直接用D函数,模型调用方便。 对数据进行分页是一个专题,当时卡了将近一天,后来发现了问题所在。 $User = M('User'); // 实例化User对象 $count = $User->where('status=1')->count();// 查询满足要求的总记录数 $Page = new \Think\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数(25) $show = $Page->show();// 分页显示输出 // 进行分页数据查询 注意limit方法的参数要使用Page类的属性 $list = $User->where('status=1')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select(); $this->assign('list',$list);// 赋值数据集 $this->assign('page',$show);// 赋值分页输出 $this->display(); // 输出模板 这里注意$Page这个变量不可以和系统冲突,否则不会成功。 然后上传功能也是一个主题,当时还是得出现了很多问题,要么是没有提示,要么是提示目录问题,提示非法问题。 发现需要在form里面添加属性 <form action="__URL__/upload" enctype="multipart/form-data" method="post" > <input type="text" name="name" /> <input type="file" name="photo" /> <input type="submit" value="提交" > </form> 实例化上传类 $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 3145728 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'pn