Jump to content
php.lv forumi

funkcija, pretēja global


ansis

Recommended Posts

Droši vien elementārs jautājums:

Zinu, kā var no funkcijas iekšas atsaukties uz mainīgo, kurš definēts ārpusē.

 

Bet vai var otrādi?

Nodefinēt mainīgo un pateikt, ka šis ir pieejams visām funkcijām, visiem skriptiem, nerakstot katru reizi

 

global $a;

 

?

Link to comment
Share on other sites

Es jau neko, bet izmantot globāļus ir slikts stils (izņemot konfigurāciju)

Ja pat runa iet par konfigurāciju, es pieradu to norādīt parametros vai arī definēt konstantes.. (tā lai 100% neviens neko nepārdefinē)

 

$ic = new ImageConvert( $savePath, $imgPath );

Link to comment
Share on other sites

Kāpēc tas vajadzīgs?

Negribu katru reizi f-jas iekšpusē rakstīt global pie mainīgajiem, kas man ir vajadzīgi VISĀS funkcijās, un kartu reizi, kad kaut kas pamainās, mainīt ierakstu pie KATRAS funkcijas.

 

Varbūt šo pašu var atrisināt ar koda rakstības stilu un risināt citādi - bet man radās šāda vajadzība.

Link to comment
Share on other sites

function funkcijinja_1($a);
{
$a='nomainiits';
}

function funkcijinja_2(&$a);
{
$a='nomainiits';
}
//-------
$b='nekas nenotiek';
funkcijinja_1($b);
echo $b; // izvadiis 'nekas nenotiek'
funkcijinja_2($b);
echo $b; // izvadiis 'nomainiits';

 

Atrodi atskjiriibu ;)

starp abaam funkcijaam ;)

edit:

Vai arii sheit

function funkcijinja_x($a);
{
$a='nomainiits';
}
//-------
$b='nekas nenotiek';
funkcijinja_x($b);
echo $b; // izvadiis 'nekas nenotiek'
funkcijinja_x(&$b);
echo $b; // izvadiis 'nomainiits';

Edited by Grey_Wolf
Link to comment
Share on other sites

Pirmkārt ir jāsaprot funkcijas/procedūras nozīmi - RTU gan māca, kur/kad tā jāizmanto,.. un jāpilda šadi tādi uzdevumi...

 

globāļi tik tiešām ir nepieciešami ļoti specifiskās lietās (konfigs)

 

funkcijinja_x(&$b);

ir jālieto

$b = funkcija($b) { return $b.'test'; };

vai

function funkcija( &$b ) { $b = rand(); return true; }

Link to comment
Share on other sites

×
×
  • Create New...