यह वास्तव में एक बहुत ही सरल कार्य है।
<?php
echo "Here is my little script";
function endScript(){
echo "My little Script has finished";
}
register_shutdown_function('endScript');
?>
असल में क्या होता है अपनी स्क्रिप्ट रन है और क्योंकि हम इस लाइन register_shutdown_function('endScript');
जोड़ा इसके समाप्त होने पर यह समारोह endScript और अंत में उत्पादन My little script has finished
कॉल करेगा: तो तुम एक php स्क्रिप्ट है।
यहाँ documentation से थोड़ा अतिरिक्त है:
एक कॉलबैक रजिस्टर) स्क्रिप्ट निष्पादन खत्म या बाहर निकलने के() called.Multiple register_shutdown_function करने के लिए कॉल (है के बाद निष्पादित करने के लिए बनाया जा सकता है, और प्रत्येक बुलाया जाएगा उसी क्रम में जब वे पंजीकृत थे। यदि आप एक पंजीकृत शट डाउन फ़ंक्शन के भीतर निकास() को कॉल करते हैं, तो प्रोसेसिंग पूरी तरह से बंद हो जाएगी और कोई अन्य पंजीकृत शटडाउन फ़ंक्शन नहीं कहा जाएगा।
* अद्यतन
इसके लिए एक बेहतरीन उपयोग जब आप बार-बार समारोह php में exit()
कहा जाता है का उपयोग करें।
उदाहरण के लिए:
<?php
function endScript(){
echo "My little Script has finished";
}
register_shutdown_function('endScript');
$result = some_intricate_function()
if($result == 0){
exit();
}
$result = some_other_intricate_function()
if($result == 0){
exit();
}
/* and this keeps reoccurring */
?>
अब नोटिस आप बाहर निकलने से पहले endScript
समारोह हर बार कॉल करने के लिए की जरूरत नहीं है, भले ही आप बाहर निकलने को कई बार फोन किया। आपने इसे शुरुआत में पंजीकृत किया है और अब आप जानते हैं कि यदि आप कभी बाहर निकलते हैं या आपकी स्क्रिप्ट खत्म होती है तो आपके फ़ंक्शन को कॉल किया जाता है।
अब निश्चित रूप से मेरा शटडाउन फ़ंक्शन बहुत बेकार है; लेकिन अगर आपको चीजों को साफ करने की आवश्यकता है तो यह उपयोगी हो सकता है (यानी खुली फ़ाइल हैंडल बंद करें, कुछ लगातार डेटा सहेजें, आदि)
स्रोत
2012-11-21 18:12:50
मैं इसे समझता हूं! स्पष्टीकरण के लिए धन्यवाद! अगर मैं कर सकता। मैं –
+1 कर दूंगा @DarylGill बस इस थ्रेड पर आने वाले भविष्य के उपयोगकर्ताओं के लिए एक स्वीकृत उत्तर (चेक मार्क) के रूप में पंजीकृत करें। –
@FlorinStingaciu +1, मुझे उम्मीद नहीं थी कि यह बहुत अधिक स्पष्टीकरण की आवश्यकता है :) – emartel