php快废了,PHP为什么要逐渐废弃一些函数?出于什么原因呢?
1.比如說廢棄mysql開頭的幾個數據庫函數,是為了面向對象而廢棄的么?
2.還有magic_quotes這個為什么又要去掉呢?
3.等等。。
知道的說一下,感激不盡。
回復內容:
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中的語言特性的淘汰不會那么慢,也不會很快。
相關標簽:php
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的php快废了,PHP为什么要逐渐废弃一些函数?出于什么原因呢?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3ide手机端怎么样_各大P
- 下一篇: vs中工具箱代表的意思_“日”除了代表太