Monday, December 14, 2009

Php තුළදී variable භාවිතා කිරීම.

,Php තුළදී variable භාවිතා කිරීම.




සමහර අවස්ථා වලදී අපට web page එකක් තුලදී එකම අගයන්/වදන් නැවත නැවත භාවිතා කිරීමට සිදුවේ. එහෙත් එලෙස page එක තුල පවතින යම් අගයක්/වදනක් වෙනස් කිරීමට අවශ්ය වුවොත් එම අගය/වදන යොදා ඇති සෑම ස්ථානයකම එම අගය/වදන සොයා බලමින් වෙනස් කිරීමට අවශ්ය වේ. එය පහසු කටයුත්තක් නොවේ. නමුත් එම අගය/වදන මුලින් එක් වරක් හදුන්වාදී එනම් වෙනත් අගයක‌ට ( වේරියබල් එකකට ) සමාන කර එම වේරියබල් එක පිටුව පුරා යොදා තිබුණි නම් සෑම තැනක්ම සොයා බැලීමකින් තොරව එම අගය/වදන වේරියබල් එකට සමාන කළ ස්ථානයේ අගය පමණක් වෙනස් කිරීමෙන් එම අගය යොදා ඇති සෑම තැනක් ම පහසුවෙන් වෙනස් කළ හැක.


php තුල වේරියබල් case sensitive වේ. එමෙන්ම සෑම වේරියබල් එකක්ම ඩොලර් සලකුණෙන් ( $ ) ආරම්භ විය යුතුය.
එමෙන්ම ඩොලර් සලකුණෙන් ( $ ) පසුව underscore සලකුණ ( _ ) හා/හෝ ඕනෑම ASCII අකුරක් යොදා ගත හැක. එකම වේරියබල් එක දෙවරක් හදුන්වා දිය නොහැක. එහෙත් ඩොලර් සලකුණත් ( $ ) සමගම එනම් ඩොලර් සලකුණට ( $ ) අාසන්නයේ ඉලක්කමක් භාවිතා කළ නොහැක.


$this යන වේරියබල් එක php තුලදී අපට අභිමත පරිදි භාවිතා කළ නාෙහැක.




Variable සදහා උදාහරණ



$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var"; // outputs "Bob, Joe"


$4site = 'not yet'; // invalid; starts with a number
$_4site = 'not yet'; // valid; starts with an underscore
$täyte = 'mansikka'; // valid; 'ä' is (Extended) ASCII 228.


?>



එමෙන්ම අපට php තුළදී reference ලෙස ද variables භාවිතා කළ හැක. මෙහිදී refer වන variable එකට පෙර ampersand ( & ) සලකුණ භාවිතා කළ යුතුය.


උදාහරණ

$foo = 25;
$bar = &$foo; // This is a valid assignment.
$bar = &(24 * 7); // Invalid; references an unnamed expression.


function test()
{
return 25;
}


$bar = &test(); // Invalid.


?>



Php තුළ භාවිත කිරීමට නිශ්චිත කාර්යයක් සදහාා වෙන් කරන ලද වේරියබල් ( predefined variables ) සමහරක් ද අැත. මේ වේරියබල් සමහරක් භාවිතා කරන සර්වරය ( server ) මත රදා පවතී. නමුත් බොහොමයක් වේරියබල් Apache server මත ක්රියා කරයි.




Variable scope ( වේරියබල් එකක් අදාල වන කලාපය. )


php තුලදී වේරියබල් එකක් හදුන්වා දුන් විට එය භාවිතා කිරීමේදී එම වේරියබල් එක‌ට අදාල කලාපය තුල පමණක් එම වේරියබල් එක ක්රියාත්මක වේ.


php තුලදී වේරියබල් එකක් හදුන්වා දුන් විට එය භාවිතා කිරීමේදී එම වේරියබල් එක‌ට අදාල කලාපය තුල පමණක් එම වේරියබල් එක ක්රියාත්මක වේ. එනම් හදුන්වා දුන් කලාපයට (අදාල කලාපයට) පිටින් කිසියම් වේරියබල් එකක් භාවිතා කල නොහැක.




$a = 1;
?>

මෙහිදී php ආරම්භක හා අවසන් කරන tags දෙක අතර පවතින සියල්ලම එකම කලාපයට අයත් වේ.






$a = 1;

include 'b.inc';
?>

මෙහිදී $a වේරියබල් එක b.inc file එක තුලදී භාවිතා කල හැක.


function එකක් තුලදී සාමාන්යයෙන් global scope එකට අදාල වේරියබල් භාවිතා කල නොහැක.

$a = 1; /* global scope */
function test()
{
echo $a; /* reference to local scope variable */
}
test();
?>

එෙලස කිරීමට අවශ්ය නම් function එක තුලදී global යන keyword එක භාවිතා කල හැක.


$a = 1;

$b = 2;

function Sum()

{

global $a, $b;

$b = $a + $b;

}

Sum();

echo $b;
?>

$GLOBALS යන predefined variable එක භාවිතා කිරීම මගින් ද global scope එකට අදාල variables භාවිතා කල හැක.


$a = 1;

$b = 2;

function Sum()

{

$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];

}

Sum();

echo $b;
?>



Static variables පසුවට …










1 comment:

  1. එල එල දිගටම ලියන්න ඔබට සදා ජයම වේවා

    ReplyDelete