PHP中include和require的區別詳解

來源:互聯網
上載者:User

標籤:介面   還需要   支援ie   取消   帳號   解釋執行   過程   預設   ++   

瀏覽器安全色性:GoEasy推送 支援websocket 和polling兩種串連方式,從而可以支援IE6及其以上的所有版本,同時還支援其它瀏覽器諸如Firefox, Chrome, Safari等等。

支援不同的開發語言: GoEasy推送 提供了Restful API介面,無論你的背景程式用的是哪種語言都可以通過Restful API來實現後台即時推送。如: Java , PHP , C#, Ruby, python , C, C++, ASP .NET , Node.js ...

支援後台及前台推送: 後台用Restful API, 前台用goeasy.js; 運用十分簡單!

PHP Web即時訊息後台伺服器推送技術-GoEasy

下面我介紹一下使用GoEasy的步驟:

1. 你需要到goeasy官網上註冊一個帳號,並建立一個應用,應用建立好後系統會預設為它產生兩個key: publish key和subscribe key

2. 前台即時訂閱及接收

只需要引入goeasy.js,然後調用goeasy的subscribe方法訂閱一個channel即可,訂閱時無論是用publish key還是subscribe key都可以。通過subscribe的參數 onMessage的回呼函數可以即時接收到訊息。

3. 前台即時推送

還是需要引入goeasy.js(如果該頁面已經引入了可不在引入),然後調用goeasy的publish方法向已訂閱的channel上推送訊息即可,推送時只能用publish key。

4. 後台即時推送

調用GoEasy Restful API, 用post方式訪問http://goeasy.io/goeasy/publish, 同時還需要帶上三個必要參數:

appkey: publish key

channel: 你訂閱了的channel

content: 推送內容

就是這麼簡單。

下面我將之前寫的一個小執行個體貼出來,裡面用了 Java script 在web頁面進行訂閱,推送,接收,以及取消訂閱的例子,裡面的appkey用的是 goeasy官方 的demo 的appkey.

<html> <head> <title>GoEasy Test</title> <script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script> <script type="text/javascript"> if(typeof GoEasy !== ‘undefined‘){ var goEasy = new GoEasy({ appkey: ‘ba821151-e043-4dfb-a954-c73744c8d323‘, userId:"222", username:"22", onConnected:function(){ console.log("Connect to GoEasy success."); } , onDisconnected:function(){ console.log("Disconnect to GoEasy server."); } , onConnectFailed:function(error){ console.log("Connect to GoEasy failed, error code: "+ error.code+" Error message: "+ error.content); } }); } subscribe(); function subscribe(){ goEasy.subscribe({ channel: ‘notification‘, onMessage: function(message){ console.log(‘Meessage received:‘+message.content); }, onSuccess:function(){ console.log("Subscribe the Channel successfully."); }, onFailed: function(error){ console.log("Subscribe the Channel failed, error code: "+ error.code + " error message: "+ error.content); } }); } function publishMessage(){ goEasy.publish({ channel: ‘notification‘, message: ‘You received a new notification‘, onSuccess:function(){ console.log("Publish message success."); }, onFailed: function(error){ console.log("Publish message failed, error code: "+ error.code +" Error message: "+ error.content); } }); } function unsubscribe(){ goEasy.unsubscribe({ channel:"notification", onSuccess: function(){ console.log("Cancel Subscription successfully."); }, onFailed: function(error){ console.log("Cancel the subscrition failed, error code: "+ error.code + "error message: "+ error.content); } }); } </script> </head> <body> <input type="button" value="publish" onclick="publishMessage()"/> <input type="button" value="unsubscribe" onclick="unsubscribe()"/> <input type="button" value="subscribe" onclick="subscribe()"/> </body> </html>

=subsibe()"/> </body> </html>

require()語句的效能與include()相類似,都是包括並運行指定檔案。不同之處在於:對include()語句來說,在執行檔案時每次都要進行讀取和評估;而對於require()來說,檔案只處理一次(實際上,檔案內容替換require()語句)。這就意味著如果可能執行多次的代碼,則使用require()效率比較高。另外一方面,如果每次執行代碼時是讀取不同的檔案,或者有通過一組檔案迭代的迴圈,就使用include()語句。

require的使用方法如:require("myfile.php"),這個語句通常放?php指令碼程式的最前面。PHP程式在執行前,就會先讀入require()語句所引入的檔案,使它變成PHP指令檔的一部分。include使用方法和require一樣如:include("myfile.php"),而這個語句一般是放在流程式控制制的處理區段中。PHP指令檔在讀到include()語句時,才將它包含的檔案讀取進來。這種方式,可以把程式執行時的流程簡單化。

incluce在用到時載入

require在一開始就載入

_once尾碼表示已載入的不載入

PHP系統在載入PHP程式時有一個偽編譯過程,可使程式運行速度加快。但incluce的文檔仍為解釋執行。include的檔案中出錯了,主程式繼續往下執行,require的檔案出錯了,主程式也停了,所以包含的檔案出錯對系統影響不大的話(如介面檔案)就用include,否則用require。

require()和include()語句是語言結構,不是真正的函數,可以像php中其他的語言結構一樣,例如echo()可以使用echo("ab")形式,也可以使用echo "abc"形式輸出字串abc。require()和include()語句也可以不加圓括弧而直接加參數。

include_once()和require_once()語句也是在指令碼執行期間包括運行指定檔案。此行為和include()語句及require()類似,使用方法也一樣。唯一區別是如果該檔案中的代碼已經被包括了,則不會再次包括。這兩個語句應該用於在指令碼執行期間,同一個檔案有可能被包括超過一次的情況下,確保它只被包括一次,以避免函數重定義以及變數重新賦值等問題。

PHP中include和require的區別詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.