日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

从PHP5到PHP7的注意事项

發布時間:2023/12/14 php 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从PHP5到PHP7的注意事项 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:https://www.phpxy.com/article/25.html

PHP7是大勢所趨了。PHP7有更多的新特性,更好的性能,更高的速度。并且,從今年8月7日開始發行PHP7.0的beta3 即將發布的PHP7 的RC1版本。腳步越來越近,有更多的人來學習PHP7的新特性。PHP學院將對PHP7的新特性進行連載。


并且,現在國內PHPer中喜歡嘗新鮮的人一些人,已經安裝好了PHP7。我們來看看PHP7 到底有哪些新特性。


今天我們來講解的是PHP提倡的一些風格,并且將原有PHP4當中的一些風格進行了禁用。


1,PHP5發行的時候為了討好ASP程序員,PHP準備了asp_tags全部被禁止


在未來沒有<% ?%> 這種風格,PHP也不再支持這種風格的聲明。


<script language="php"></script>


2,PHP4的語法風格中的一些東西將被,例如構造函數的用法,會在新的PHP7中完全被拋棄。PHP7將會提示一個:?E_DEPRECATED的錯誤提示。

<?php

class?foo?{

? ? //方法名類名相同的構造函數的用法不再兼容
????function?
foo()?{
????????echo?
'I?am?the?constructor';
????}
}
?>


1. define定義常量不僅僅只支持標量,還支持了數組


<?php
define
('PHPXY',?array(
????
'鳳姐',
????
'芙蓉姐姐',
????
'楊冪是臭腳'
));

echo?
PHPXY[1];?//?輸出的結果是“芙蓉姐姐”
?>


2.比較的時候支持<=> 可以比較字符串,數組,整型。

<?php

//?Integers
echo?1?<=>?1;?//?0
echo?1?<=>?2;?//?-1
echo?2?<=>?1;?//?1

PHP學院評:我們認為實際用戶不大,在實際工作中使用量不會很高


3.在PHP7 中支持了 函數的強制參數類型指定


<?php
//?Coercive?mode
function?sumOfInts(int?...$ints)
{
????return?
array_sum($ints);
}

var_dump(sumOfInts(2,?'3',?4.1));


//本例中會輸出9,你想想為什么喲?——因為強制規定為了整型


PHP學院評:function funcName(... 參數) 是PHP5.6開始支持的。不要認為是PHP7里的知識點



4. 返回類型也在強制進行規定


function?arraysSum(array?...$arrays):?array
{
????return?
array_map(function(array?$array):?int?{
????????return?
array_sum($array);
????},?
$arrays);
}

print_r(arraysSum([1,2,3],?[4,5,6],?[7,8,9]));



5. 新建了call方法在外部來調用,更短的方式將匿名函數,追加進對向中且完成調用

class?A?{private?$x?=?1;}

//?Pre?PHP?7?code
$getXCB?=?function()?{return?$this->x;};
$getX?=?$getXCB->bindTo(new?A,?'A');?//?intermediate?closure
echo?$getX();

//?PHP?7+?code
$getX?=?function()?{return?$this->x;};
echo?
$getX->call(new?A);


6. 成員方法中也可以規定必須要返回某個類類型


class?A?{}
class?
B?extends?A?{}

class?
C
{
????public?function?
test()?:?A
????
{
????????return?new?
A;
????}
}

世界上最悲慘的事情不是你在我面前你不知道我愛你。而是——你在七夕開房,我卻在學習新知識。對于我等程序狗、單身狗來說,唯一努力學習新的知識或者才能逆轉。變成富帥,早日迎取白富美吧。而PHP7的刪除的一些函數是我們必須的.


PHP手冊中,為了專門應對大家的升級,為大家將PHP7中刪除的一些函數進行了說明和整理。如果你在項目中使用到了這些函數,請整個項目進行查找,修改。


1. call_user_method() 和 call_user_method_array()


2. mcrypt_generic_end() alias in favor of mcrypt_generic_deinit()


3.棄用 ?mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() and mcrypt_ofb() 有利于mcrypt_decrypt() 的參數 MCRYPT_MODE_*



4.棄用 datefmt_set_timezone_id() 和IntlDateFormatter::setTimeZoneID() 有利于 datefmt_set_timezone() 或者IntlDateFormatter::setTimeZone()


5. set_magic_quotes_runtime() 和它的別名函數 magic_quotes_runtime()


6. set_socket_blocking() 有利于它的別名函數 ?stream_set_blocking()


7. 來自于fast-cgi的dl()


8.???T1Lib 支持刪除,所以刪除:imagepsbbox(), imagepsencodefont(), imagepsextendedfont(), imagepsfreefont(), imagepsloadfont(), imagepsslantfont(), imagepstext()

原本的PHP7 新特性的連載計劃出現了一點點小的耽擱,我們將PHP7 RC1版本的官方新聞通稿進行了翻譯。這就是大家等了很久的PHP7.0 RC1版本。


所謂RC版本,就是即將正式推行的版本。(Release Candidate) 用在軟件上就是候選版本。系統平臺上就是發行候選版本。RC版不會再加入新的功能了,主要著重于除錯。


PHP開發團隊宣布PHP 7.0.0 RC 1的版本是一個即將可用的版本。你可以詳細的測試,并將將遇到的問題,報告給PHP的BUG 跟蹤系統。


BUG測試提交的地址為:https://bugs.php.net/



1. PHP7 的速度高達php 5.6 兩倍之巨


2. 更好的支持64位操作系統


3. 更多的錯誤支持和新的錯誤捕獲


  • 4. 刪除一些不支持的函數和不支持的SAPIs和擴展

  • 5. 空合并運算符( ??)

  • 6. 綜合比較運算符(<=>)

  • 7. 返回類型聲明

  • 8 .標量類型聲明

  • 9 .匿名類

PHP刪除了一些函數,其中是嚇人的是兩個:

1. ereg_* 系列的正則函數

2. mysql_* 系列的數據庫連接函數


PHP7全面刪除Mysql擴展支持,原本的mysql_*系列函數將在mysql中不再得到支持。所以說,如果你的應用系統還是使用的是mysql_*系列的函數來連接數據庫,請盡快升級你的mysql系列的函數。


我們來看看,PHP7 刪除的擴展到底有哪些:


  • 1. ereg
  • 2. mssql
  • 3. mysql
  • 4. sybase_ct

替代處理和解決方案:


一、 如果你要連接微軟的sql server數據庫請使用PDO方案來代規


二、 如果你使用的mysql系列函數擴展來連接數據庫,請采用效率更高的mysql_nd系列函數。他具有更高的效率


三、 如果你采用的是ereg 系列,盡快改吧。


四、sybase_ct 全面改為sybase*系列吧

很多朋友都不知道什么是SAPI,并且不知道SAPI與PHP的關系,本章在了解PHP7 刪除了哪些SAPI的同時,你可以了解到更深入的PHP的內部處理機制,并且了解到有哪些SAPI是被刪除?


SAPI指的是PHP具體應用的編程接口, 就像PC一樣,無論安裝哪些操作系統,只要滿足了PC的接口規范都可以在PC上正常運行, PHP腳本要執行有很多種方式,通過Web服務器,或者直接在命令行下,也可以嵌入在其他程序中。


  • aolserver
  • apache
  • apache_hooks
  • apache2filter
  • caudium
  • continuity
  • isapi
  • milter
  • nsapi
  • phttpd
  • pi3web
  • roxen
  • thttpd
  • tux
  • webjames

上面的這些SAPI們將不會支持了。



總結

以上是生活随笔為你收集整理的从PHP5到PHP7的注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。