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

Kirim email ke