જ્યારે તમે PHP કોડ ડીબગ કરી રહ્યા હોવ, ત્યારે આ ચોક્કસ સમયે તમારા કોડની સ્થિતિનું પરીક્ષણ કરવામાં મદદરૂપ થઈ શકે છે. આ તમને તમારા કોડમાં શું થઈ રહ્યું છે તે સમજવામાં અને સમસ્યાઓનું કારણ બની શકે તેવી કોઈપણ સમસ્યાઓ ઓળખવામાં મદદ કરી શકે છે.
ચાલો કેટલીક રીતો જોઈએ બિલ્ટ-ઇન PHP ફંક્શનનો ઉપયોગ કરીને તમારા PHP કોડની સ્થિતિ કેવી રીતે તપાસવી તે.
error_log() નો ઉપયોગ કરી સંદેશાઓ લોગ કરવા માટે
જે રીતે બિલ્ટ-ઇન વર્ડપ્રેસ ડિબગીંગ વિકલ્પોની પાઠમાં ચર્ચા કરવામાં આવી હતી, તમે error_log() ફંક્શનનો ઉપયોગ કરીને સંદેશાઓ વર્ડપ્રેસ debug.log ફાઇલમાં લૉગ કરી શકો છો.
આ ડિબગીંગ હેતુઓ માટે ઉપયોગી થઈ શકે છે, જે તમારા કોડમાં શું થઈ રહ્યું છે તે સ્ક્રીન પર દર્શાવ્યા વગર જોવાની પરવાનગી આપે છે.
error_log() ફંક્શન માત્ર વર્ડપ્રેસ માટે ખાસ નથી, તે એક PHP ફંક્શન છે, જેનો ઉપયોગ તમે કોઈપણ PHP કોડમાં કરી શકો છો PHP error log ફાઈલમાં સંદેશાઓ લૉગ કરવા માટે, જે સર્વર પર રૂપરેખાંકિત હોય.
જોકે, જ્યારે તમે તમારી wp-config.php ફાઇલમાં વર્ડપ્રેસ ને લગતા ડિબગીંગ વિકલ્પો સક્રિય કરો છો, ત્યારે error_log() માં પાસ કરેલ કંઈપણ વર્ડપ્રેસ debug.log ફાઇલમાં લૉગ થશે.
error_log( $some_variable );
આ $some_variable ની કિંમતને debug.log ફાઇલમાં લોગ કરશે, જેથી તમે તમારા કોડમાં તે સમયે તેમાં શું છે એ જોઈ શકો.
error_log() નો ઉપયોગ કરવાનો ફાયદો એ છે કે તે તમને સ્ક્રીન પર પ્રદર્શિત કર્યા વિના ફાઇલમાં સંદેશાઓ લોગ કરવાની મંજૂરી આપે છે. જો તમે તેમને સ્ક્રીન પર પ્રદર્શિત કરો છો, ખાસ કરીને પ્રોડક્શન એન્વાયરમેન્ટમાં, તો તમે વપરાશકર્તાઓને સંવેદનશીલ માહિતી ખુલ્લા પાડવાનું જોખમ ઊભું કરી રહ્યા છો.
ઘણી વખત સ્ક્રીન પર આઉટપુટની લાંબી સૂચિ શોધવા કરતાં, લોગ ફાઇલમાં આઉટપુટ જોવાનું ઝડપી હોય છે.
print_r() નો ઉપયોગ કરીને
તમારા PHP કોડની સ્થિતિ પરિક્ષણ કરવા માટે બીજું ઉપયોગી ફંક્શન print_r() છે. આ ફંક્શન વારીએબલ, એરે અથવા ઓબ્જેક્ટની કિંમત માનવી-વાંચી શકે તેવા ફોર્મેટમાં આઉટપુટ કરે છે, જેથી તમે જોઈ શકો કે તેમાં શું છે.
આ PHP કોડ ના ઉદાહરણ પર એક નજર નાખો.
$some_array = array( 'apple', 'banana', 'cherry' );
print_r( $some_array );
આ કોડ સ્ક્રીન પર નીચે મુજબ આઉટપુટ આપશે:
Array ( [0] => apple [1] => banana [2] => cherry )
ડેવલપર્સ ઘણીવાર આઉટપુટ વાંચવામાં સરળ બનાવવા માટે print_r() ને <pre> ટેગમાં આવરિલે છે.
echo '<pre>';
print_r( $some_array );
echo '</pre>';
આ સ્ક્રીન પર નીચે મુજબ આઉટપુટ આપશે:
Array
(
[0] => apple
[1] => banana
[2] => cherry
)
ધ્યાન આપો કે ડિફૉલ્ટરૂપે print_r() વેરિએબલની કિંમત આઉટપુટ આપે છે, પરંતુ તેને રિટર્ન નથી કરતું. જો તમે print_r() ના આઉટપુટને error_log() સાથે ઉપયોગ કરવા માંગતા હો, તો તમારે બીજું પેરામીટર true સેટ કરવું પડશે.
error_log( print_r( $some_array, true ) );
આ print_r કોલના આઉટપુટને debug.log ફાઇલમાં લોગ કરશે, જેથી તમે જોઈ શકો કે તમારા કોડમાં તે સમયે $some_array માં શું સમાયેલું છે.
var_dump() નો ઉપયોગ કરીને
var_dump() ફંક્શન એ તમારા PHP કોડની સ્થિતિ તપાસવા માટેનું બીજું ઉપયોગી ફંક્શન છે. આ ફંક્શન વેરિએબલ, એરે અથવા ઑબ્જેક્ટનું મૂલ્ય માનવ-વાંચી શકાય તેવા ફોર્મેટમાં આઉટપુટ કરે છે, એની સાથે વેરિએબલ નો પ્રકાર અને લંબાઈ વિશે વધારાની માહિતી પણ આપે છે.
આ PHP કોડ ના ઉદાહરણ પર એક નજર નાખો.
$some_array = array( 'apple', 'banana', 'cherry' );
echo '<pre>';
var_dump( $some_array );
echo '</pre>';
આ કોડ સ્ક્રીન પર નીચે મુજબ આઉટપુટ આપશે:
array(3) {
[0]=>
string(5) "apple"
[1]=>
string(6) "banana"
[2]=>
string(6) "cherry"
}
ધ્યાન આપો કે var_dump() વેરિએબલની કિંમત સાથે તેનો પ્રકાર અને લંબાઈ વિશેની વધારાની માહિતી પણ આઉટપુટ આપે છે. આ ડિબગિંગ હેતુઓ માટે ઉપયોગી થઈ શકે છે, કારણ કે તે વેરિએબલ વિશે print_r() કરતા વધુ વિગતવાર માહિતી પ્રદાન કરે છે.
print_r() થી વિપરીત, var_dump() પાસે આઉટપુટને વેરિએબલમાં રિટર્ન કરવાનો વિકલ્પ નથી, તેથી તમે તેને સીધું error_log() સાથે ઉપયોગ કરી શકતા નથી.
જોકે, તમે var_dump() નું આઉટપુટ કેપ્ચર કરવા માટે આઉટપુટ બફરિંગ નામની વસ્તુનો ઉપયોગ કરી શકો છો અને પછી તેને debug.log ફાઇલમાં લોગ કરી શકો છો.
$some_array = array( 'apple', 'banana', 'cherry' );
ob_start();
var_dump( $some_array );
$output = ob_get_clean();
error_log( $output );
ડેવલપર્સ ઘણીવાર var_dump અને error_log ને સાથે ઉપયોગ કરી શકે એ માટે આ પ્રકારના કોડનો ઉપયોગ એક વિશિષ્ટ લૉગિંગ ફંક્શનમાં કરશે.
function log_var_dump( $variable ) {
ob_start();
var_dump( $variable );
$output = ob_get_clean();
error_log( $output );
}
વધુ વાંચન
આ પાઠમાં ઉલ્લેખિત ફંક્શનો વિશે વધુ માહિતી માટે, PHP ડોક્યુમેંટેશનમાં નીચેના પૃષ્ઠો તપાસો: