第一次用PHP做项目,也是第一次用thinkphp3框架,和j2ee和.net mvc比起来,上手难度那是忽略不计。
下面把碰到的问题记录一下:
1、关于路径
thinkphp其实有两种访问路径
第一种是通过 appname/index.php/Module/Controller/Function
比如 localhost/app/index.php/Home/Main/main
第二种是通过 appname/Module/Controller/Controller对应的html(View)
比如 localhost/app/Home/Main/main.html
第一种是thinkphp特有的 路径都是以入口文件index.php为基准,所以类似这种__PUBLIC__ __COMMON__...全局变量是正确的。
第二种 相当于我们传统的访问模式, 路径是以你运行的文件为基准,所以那些全局变量是没用的,只能用 ../ 自己返回上一级了。
2、关于数据库访问
表要有表前缀,代码里是不加前缀的
比如 表名 tb_car 代码里就是car $result = M("car")->field("name,tpe")->group("name,type")->where($map)->select();
$map 是条件数组,语句相当简洁
3、json 数据库记录集,中文被重新编成乱码了
可以用 json_encode($result, JSON_UNESCAPED_UNICODE));
前端 JSON.parse(json)
4、可用I方法接收
1、echo I('get.id'); // 相当于 $_GET['id']。
2、echo I('get.name'); // 相当于 $_GET['name']。
支持默认值
1、echo I('get.id',0); // 如果不存在$_GET['id'] 则返回0。
2、echo I('get.name',''); // 如果不存在$_GET['name'] 则返回空字符串。
5、后端 Controller.class.php $this->assign("varName","hello"); 赋值
前端 html {$varName} 取值
要在 $this->display(); 之前