thinkphp5 - thinkPHP 数据库 M() 用的多吗?

查看:123
本文介绍了thinkphp5 - thinkPHP 数据库 M() 用的多吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

学完了 thinkPHP C和V 最后看的 操作数据库,
之前学的PHP自带的PDO,感觉也会用了,
现在thinkPHP 也自己带了一套 操作数据库的 类。
我看了看教程,再学习也挺繁琐哦的。。
各种传值格式又都得记,本来学了class MySQLi,后来知道都用pdo,又学了pdo,现在又一个M。。。我都快学串了。

我问问这个thinkPHP 的大M 方法,在你们做项目用的多吗?
比pdo 的方便吗?

我还学习吗。。

解决方案

我没用过TP,不是很清楚里面的M是什么,但是还是能指出:你理解有误,这是两件事情。
学PHP的人肯定都要会用PDO或者Mysqli,这根本不存在学习的问题,文档就在那里,会用就行,需要花时间学习的是SQL语法。
而M阿D阿这种东西是另外一层封装,它们通常用来解决以下问题:
1- 写sql很麻烦(例如字段清单),越长的sql维护起来也越麻烦
2- 拼凑sql的时候更麻烦
3- 不同的人写的sql不同,造成表、字段别名不一致,容易带来问题
4- sql注入
5- 等等

对于相同功能,PDO方式可能如下:

$db = new PDO();
$row = $db->query('SELECT * FROM `users` WHERE `id` = 5')->fetchRow();

使用M的话可能会类似:

$row = M('User')->where(array('id' => 5))->findRow(); //M('User')可能等效于new User,而User是一个继承与Model的类

简短的说,各种框架都想了各种方法避免开发人员用直接写SQL语句的方式访问数据库,明白这个原理就行了,不需要特别的学习什么,需要的时候查手册就好了,没必要记住。而且这种东西出了问题一样是SQL异常,必须掌握SQL语法才能解决问题。

这篇关于thinkphp5 - thinkPHP 数据库 M() 用的多吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆