PHP භාෂාව සිව්වන පාඩම- විචල්‍යයන් (Variables) (04 – 1)

යම් දෙයක් තාවකාලිකව මතක තබා ගැනීමට විචල්‍ය භවිතා කරයි.

මූලික කරුණු.

විචල්‍යයන් නිරූපණය කිරීම සදහා $ (dollar) ලකුණ යොදා ගනී.
උදා:

$var;
$vegi = 'Tomato';
$num  = 123;

විචල්‍යයන් නාම කරනයද php හි අනෙකුත් නම් පත් නාම කරන රීතින්ම අනුගමනය කරනු ලබයි.

සෑම විටම විචල්‍යයන් නාම කරනයේ දී අකුරකින් හෝ _ (underscore) ලකුණින් හෝ ආරම්භ කරයි.පසුව ඉලක්කම්, අකුරු…ආදී පවතිය හැක.

නමුත් විචල්‍යයන් නාම කරනය කිසිම විටෙක  ඉලක්කමකින් ආර්ම්භ නොකරයි.

$this යන්න විශේෂ විචල්‍යයක් වන අතර එයට අගයන් ආදේශ කල නොහැක. ඉදිරියෙදී OOP පාඩම් මාලාව යටතේ $this විචල්‍යය පිලිබදව ගැඹුරින් විස්තර කිරීමට බලා පොරොත්තු වෙමි.

උදා:

<?php
$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var";      // outputs "Bob, Joe"
$4site = ‘not yet’;     // වැරදි නාමකරනයක්.ඉලක්කමකින් ආර්ම්භ කර ඇත.
$_4site = 'not yet';    // නිවැරදි නාමකරනයක්. _ (underscore) ලකුණින් ආර්ම්භ කර ඇත.
$täyte = 'mansikka';    // නිවැරදි නාමකරනයක්. 'ä' යනු ASCII අගයකි (ASCII 228.)
?>

සාමන්‍යයෙන් (by default) php විචල්‍යයන්සදහා අගයන් ආදේශ වී පවති.යම් හෙයකින් යම් ප්‍රකාශයක් විචල්‍යයකට ආදේශ කිරීමෙදී සම්පූර්ණ මූලකෘති ප්‍රකාශයනයම විචල්‍යයට ආදේශ වීම සිදුවේ.

තවද සැඳහුම් (reference) මගින් ආදේශනයද දැන සිටීම වැදගත් වේ.එහිදි &  (ampersand) ලකුණ මගින් ආදේශනය සිදුකරනු ලබන අතර මෙහිදී අලුත් විචල්‍යය මගින් මව් විචල්‍යය ආදේශ වීම සිදු වේ.

උදා:

<?php
$x = 'Sri Lanaka';       //
Sri Lanaka'අගය $xට  ආදේශ කරයි.
$y = &$x;                // $y මගින් $x සැඳහුම් (reference) කරයි.
$y = "My Country is $x";
echo $y."<br/>";
// My Country is Sri Lanaka
echo $x; // My Country is Sri Lanaka
?>

මතක තබා ගතයුතු වදගත්ම දෙය නම්, නම් කරන ලද විච්ල්‍යන් පමක් සැඳහුම් (reference)  මගින් ආදේශ වීම සිදු වීමයි.

උදා:

<?php
$x = 25;
$y = &$x;         //
නිවැරදි ආදේශනයක්.
$y = &(24 * 7);  // වැරදි ආදේශනයක්.නම් නොකරන ලද ප්‍රකාශයක්.

function test()
{
return 25;
}
$y = &test();    // වැරදි භවිතාවක්.කේතය ක්‍රියත්මක නොවේ.
?>  

පෙර නිශ්චය කරන ලද විචල්‍යයන් (Predefined Variables)

php හි පෙර නිශ්චය කරන ලද විචල්‍යයන් විශාල ප්‍රමනයක් තිබේ.

උදා:

  • $GLOBALS — References all variables available in global scope
  • $_SERVER — Server and execution environment information
  • $_GET — HTTP GET variables
  • $_POST — HTTP POST variables
  • $_FILES — HTTP File Upload variables
  • $_SESSION — Session variables
  • $_ENV — Environment variables
  • $_COOKIE — HTTP Cookies
  • $php_errormsg — The previous error message
  • $HTTP_RAW_POST_DATA — Raw POST data
  • $http_response_header — HTTP response headers
  • $argc — The number of arguments passed to script
  • $argv — Array of arguments passed to script

මේවා php Supperglobals ලෙසද හදුන්වයි.

Variable Scope

variable scope මගින් යේ හැසිරීම ගැන කථා කරනු ලබයි.

උදා:

<?php
$a = 1; /* global scope */
function test()
{
echo $a; /* local scope */
}test();
?>
 

ඉහත කේතයෙන් කිසිදු ප්‍රථිපලයක් නොලැබේ.
<?php
$a = 1; /* global scope */
function test()
{
global $a;
echo $a; /* local scope */
}test();
?>මෙහි global යන්න මගින් 1 ලෙස ප්‍රථිපලයක් ලැබේ 

Variables and HTML Forms

HTML වලින් සකසන ලද පෝරමයක දත්ත විචල්‍යන් සදහා ආදේශ කල හැක.ඒ සදහා $_GET හෝ $_POST හෝ යන ක්‍රම දෙක භවිතා කල හැක.

උදා:

form.html

<form action="user.php" method="post">
    Name:  <input type="text" name="username" /><br />
    Email: <input type="text" name="email" /><br />
    <input type="submit" name="submit" value="Submit!" />
</form>
user.php
<?php
echo "User Name is : ".$_POST['username'].</br>;
echo "Email is : ".$_POST['email'];

?>

php form පිලිබද ඉදිරියෙදි දීර්ඝ ලෙස කථා කිරීමට බලපොරොත්තු වෙමි.

Advertisements

About Umanda Jayobandara (උමන්ද ජයෝබණ්ඩාර)

I am a Software Engineer in Sri Lanaka. Please visit my web site for more info http://umandajayobandara.com/
This entry was posted in පන්ති කාමරේ..., php and tagged , , . Bookmark the permalink.

4 Responses to PHP භාෂාව සිව්වන පාඩම- විචල්‍යයන් (Variables) (04 – 1)

  1. udayanag පවසයි:

    නියමයි ෙකාල්ෙලා්……
    දිගටම ලියන්න…

    කැමතියි

ලිපිය සම්බන්දව ඔබගේ අදහස් ලබා දෙන්න

Fill in your details below or click an icon to log in:

WordPress.com Logo

ඔබ අදහස් දක්වන්නේ ඔබේ WordPress.com ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )

Twitter picture

ඔබ අදහස් දක්වන්නේ ඔබේ Twitter ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )

Facebook photo

ඔබ අදහස් දක්වන්නේ ඔබේ Facebook ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )

Google+ photo

ඔබ අදහස් දක්වන්නේ ඔබේ Google+ ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )