Барои чӣ калимаи 'global' дар PHP истифода мешавад?
sobes.tech AI
Ҷавоб аз AI
Сўз global дар PHP барои дастрасӣ ва тағир додани тағирёбандаҳо аз минтақаи глобалӣ дар дохили функсия истифода мешавад.
Тавре ки одатан, тағирёбандаҳое, ки дар дохили функсия эълон мешаванд, маҳаллӣ мебошанд ва берун аз он намоён нестанд. Бо ёрии global метавон ба таври равшан нишон дод, ки мо мехоҳем тағирёбандаи эълоншударо дар хориҷи функсия истифода барем.
Масалан:
<?php
$globalVariable = "Ин як тағирёбандаи глобалӣ аст";
function accessGlobal() {
global $globalVariable; // Дастрасӣ ба тағирёбандаи глобалӣ
echo $globalVariable;
$globalVariable = "Арзиши тағирёфта аз функсия"; // Тағир додани тағирёбандаи глобалӣ
}
accessGlobal(); // Намоиш медиҳад "Ин як тағирёбандаи глобалӣ аст"
echo $globalVariable; // Намоиш медиҳад "Арзиши тағирёфта аз функсия"
?>
Роҳи дигар барои дастрасӣ ба тағирёбандаҳои глобалӣ истифодаи массиви супер глоб $GLOBALS мебошад.
<?php
$globalVariable = "Ин як тағирёбандаи глобалӣ аст";
function accessGlobalWithGLOBALS() {
echo $GLOBALS['globalVariable'];
$GLOBALS['globalVariable'] = "Арзиши тағирёфта аз функсия тавассути GLOBALS";
}
accessGlobalWithGLOBALS(); // Намоиш медиҳад "Ин як тағирёбандаи глобалӣ аст"
echo $globalVariable; // Намоиш медиҳад "Арзиши тағирёфта аз функсия тавассути GLOBALS"
?>
Истифодаи $GLOBALS одатан бештар равшан ва афзалиятнок ҳисобида мешавад, зеро он талаб намекунад, ки барои ҳар як тағирёбанда global эълон карда шавад ва имкон медиҳад, ки рӯйхати ҳамаи тағирёбандаҳои глобалиро ба даст оранд.
Бояд бо эҳтиёт истифодаи зиёд аз global кард, зеро ин метавонад санҷиши кодиатонро душвор гардонад, онро камтар пешгӯишаванда созад ва пайвастагии байни функсияҳоро зиёд кунад. Пешниҳод мешавад, ки маълумоти заруриро ҳамчун аргумент ба функсия гузаронед.