Assalamu'alaikum wr. wb.
Steven Haryanto wrote:
[snip]
> kalau anda sering sekali harus mempass global variables ke/dalam
> fungsi, bisa menggunakan array $HTTP_GLOBAL_VARS. atau
> barangkali program anda perlu direfactor agar tidak terlalu
> banyak mengakses variabel global dari dalam fungsi. fungsi yang
> ideal kan tidak bergantung pada variabel global, melainkan hanya
> kepada parameter input.
Koreksi dikit, $GLOBALS bukannya $HTTP_GLOBAL_VARS
jadi variabel $a bisa diakses (dalam function) melalui $GLOBALS[a];
> >Ada cara lain yang lebih enak tanpa harus pake
> >GLOBAL, atau pass by reference atau value ?
> >ya supaya mirip mirp di PERL
Kalau cuma akses read-only bisa pakai extract($GLOBALS).
[zakaria@hamdalah test]$ cat antiglobal.php
<head><title>Anti Globalisasi</title></head>
<body bgcolor=white>
<?php
$a = 1;
$b = 2;
$c = 3;
function printVars() {
echo "Inside: a = $HTTP_GLOBAL_VARS[a]; b = $HTTP_GLOBAL_VARS[b]; c
= $HTTP_GLOBAL_VARS[c]<br>\n";
echo "Inside: a = $a; b = $b; c = $c<br>\n";
extract($GLOBALS);
echo "Inside: a = $a; b = $b; c = $c<br>\n";
$a = 6;
echo "Inside: a = $a; b = $b; c = $c<br>\n";
}
echo "Outside: a = $a; b = $b; c = $c<br>\n";
printVars();
echo "Outside: a = $a; b = $b; c = $c<br>\n";
?>
</body>
[zakaria@hamdalah test]$ lynx -dump
http://localhost/~zakaria/php/test/antiglobal.php
Outside: a = 1; b = 2; c = 3
Inside: a = ; b = ; c =
Inside: a = ; b = ; c =
Inside: a = 1; b = 2; c = 3
Inside: a = 6; b = 2; c = 3
Outside: a = 1; b = 2; c = 3
Wassallam,
-- Zakaria
Work: [EMAIL PROTECTED], http://asia-karsa.com
Private: [EMAIL PROTECTED] Yahoo!: z4k4ri4
http://pemula.linux.or.id
--
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3