php快废了,PHP为什么要逐渐废弃一些函数?出于什么原因呢?

1.比如说废弃mysql开头的几个数据库函数,是为了面向对象而废弃的么?

2.还有magic_quotes这个为什么又要去掉呢?

3.等等。。

知道的说一下,感激不尽。

首先,

我们讲讲mysql_xxx开头的函数为何被不建议使用,

在零几年的时候, 层主刚学PHP时, 书上都是写的这个啊,

然后各种PHP产出的项目, model都是写的

PHP

$this->db->query('SELECT * FROM XXX WHERE ID='.$id);

这样就导致了SQL注入的危险.

然后各种五花八门的escape_string()、addslashes()函数就产生了,

但万能的黑阔们还是可以用各种0x00构造的字符串绕过.

PHP官方被逼急了,

就推出了PDO、MySQLi,

然后各种好看一点的代码才出来了:

PHP

$this->db->prepare('SELECT * FROM XXX WHERE ID=:ID');

$this->db->bindParam(array(':ID'=>$id));

$this->db->execute();

所以mysql_db_query、mysql_xxx就可以被摒弃了.

magic_quotes为何也不建议被使用了?

因为他们的存在是为了自动给输入的参数的引号等字符打上转义符

\

有可能你觉得这样不是更安全吗?

但是你想过代码的可移植性吗?接口取输入数据时怎么和客户端输入的不一样时多无奈?

所以, 自从PDO、MySQLi出来后, magic_quotes就没有存在的必要了.

语言是不断发展的,这就意味着有的函数需要被开发,有的函数被证明是垃圾,所以当然要去掉,省得别人不小心取用造成麻烦

废除说不上吧,只是有新的出来推荐使用罢了

优胜劣汰

当然,不能可以立马废除,毕竟要考虑向下兼容和照顾老用户嘛。你看XP、IE6这些典型代表的生命周期。不过,php中的语言特性的淘汰不会那么慢,也不会很快。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值