8. மாறிலி (Constants)
அடிக்கடி பயன்படுத்தக்கூடிய மாறாத மதிப்புகளுக்கு நீங்கள் மாறிலியைப் பயன்படுத்திக் கொள்ளலாம். உதாரணமாக, வருடத்தின் நாட்கள், பூமியின் விட்டம், 1000 மி.லி = 1 லிட்டர், கணிதத்தில் பயன்படுத்தும் பை போன்றவைகளைக் கூறலாம். என்றைக்கும் இவைகளின் மதிப்பு மாறாமல் அப்படியே இருக்கும்.
மாறிலிகள் (constants) global scope -ஐக் கொண்டது. Global scope என்பதின் அர்த்தம் என்னவென்றால் global scope -இல் இருக்கும் மதிப்புகளை, உங்களுடைய நிரலின் function, object மற்றும் எந்த இடத்திலும் பயன்படுத்திக் கொள்ளலாம்.
நமது நிரல் எழுதும் வேலைகளை எளிதாக்குவதற்காக நிறைய உள்ளமைக்கப்பட்ட (built-in) constants களைக் PHP கொண்டுள்ளது.
கவனிக்க: மாறி(variable) என்பதும் மாறிலி(constants) என்பதும் ஒன்றல்ல. இரண்டும் வேறு வேறானவை.
மாறிலியை வரையறுத்தல் (Defining a Constant):
மாறியை (variable) வரையறுப்பதற்கு நாம் மாறியினுடைய பெயருக்கு முன்பு $ குறியீட்டைப் பயன்படுத்துவோம். ஆனால், மாறிலியை(constants) வரையறுப்பதற்கு define() function ஐப் பயன்படுத்த வேண்டும். மாறிலியை வரையறுக்க $ முன்னொட்டு தேவையில்லை. define function இரண்டு arguments களைக் கொண்டிருக்கும். அதில் ஒன்று constant -இன் பெயராகவும், மற்றொன்று constant -இன் மதிப்பாகவும் இருக்கும்.
மாறிலியின் பெயர்கள் case sensitive கொண்டது. ஆனாலும் இது ஒரு பிரச்சனையாக இருக்கப் போவதில்லை காரணம் என்னவென்றால். வசதிக்காக, மற்ற கணினி நிரல் மொழிகளில் உள்ளதைப் போன்றே மாறிலியின் பெயர்கள் பெரிய எழுத்துக்களைக் (upper case letters) கொண்டே பெயரிட்டப்படுகிறது.
கீழ்காணும் நிரலைப் பார்த்தால் உங்ளுக்கு நன்றாக புரியும்.
<?php
define(‘WELCOME_MESSAGE’, “PHP is Easy to Learn.”);
define(‘MY_WEIGHT’,70);
echo WELCOME_MESSAGE;
echo “<br>”;
echo “My Weight is : “.MY_WEIGHT.”Kg”;
?>
நிரலின் வெளியீடு கீழ்காண்பது போன்று இருக்கும்
constant (மாறிலி) இன் மதிப்புகளை நிரலில் எங்கு வேண்டுமானாலும் பயன்படுத்திக் கொள்ளலாம். மாறிலிக்கு பெயரிடும்போது எப்படி $ குறியீடு இல்லாமல் பெயரிடுகிறமோ அதே போல அதன் மதிப்பை பயன்படுத்தவும் $ குறியீடு தேவையில்லை. நேரடியாக பெயரைக் குறிப்பிட்டு மதிப்புகளைப் பயன்படுத்திக் கொள்ளலாம்.
மாறிலி வரையறுக்கப்பட்டுள்ளதா என சோதித்தல் defined () function ஐப் பயன்படுத்தி மாறிலி வரையறுக்கப்பட்டுள்ளதா இல்லையா என்பதைக் கண்டுபிடிக்கலாம். define() function மாறிலியின் பெயரை argument ஆக எடுத்துக் கொள்கிறது. மாறிலி வரையறுக்கப்பட்டிருந்தால் true எனவும் வரையறுக்கப்படவில்லை எனில் false எனவும் வெளியீட்டைக் கொடுக்கும். உதாரணமாக MY_NAME எனும் மாறிலி வரையறுக்கப்பட்டுள்ள என்பதை சோதிக்க வேண்டுமெனில் defined() function – ஐப் பயன்படுத்தி அதை எளிமையாக செய்யலாம்.
கீழ்காணும் நிரலைப் பாருங்கள்
<?php
define(‘MY_NAME’,’KATHIRVEL R’);
if (defined(‘MY_NAME’)) {
echo “My Name is : “.MY_NAME;
echo “<br>”;
}
else {
echo “What is your name?”;
echo “<br>”;
}
?>
நிரலுக்கான வெளியீடு
முன் வரையறுக்கப்பட்ட மாறிலிகள் (Predefined Constants):
Web Developer இன் வேலையை எளிமைப்படுத்துவதற்காக PHP நிறைய உள்ளமைக்கப்பட்ட (built-in) மாறிலிகளை தன்னகத்தே கொண்டுள்ளது என்று இந்த பகுதியின் தொடக்கத்திலேயே பார்த்தோம். அதைப் பற்றி விரிவாக இந்த பகுதியில் பார்க்கலாம். குறிப்பாக அடிக்கடி பயன்படுத்தப்படும் சில பயனுள்ள முன் வரையறுக்கப்பட்ட மாறிலிகளைப் பற்றி பார்ப்போம்.
Script மற்றும் சூழல் தொடர்பான மாறிலிகள் (Script and Environment Related Constants):
PHP நிரல் இயங்கக்கூடிய இணைய வழங்கிகள், நிரல் இயங்கக்கூடிய கணினி(Client) மற்றும் நிரலைப் பற்றிய விபரங்களை வழங்குவதற்காக PHP இல் நிறைய மாறிலிகள் உள்ளன. கீழ்காணும் மாறிலிகள் அடிக்கடி பயன்படுத்தப்படுபவை.
மாறிலியின் பெயர் விளக்கம்
__LINE__ நிரலில் மொத்தம் எத்தனை நிரல் வரிகள் இருக்கிறது என்ற விபரத்தை அளிக்கிறது.
__FILE__ நிரல் இருக்கும் கோப்பின் விபரங்களை அளிக்கிறது.
__FUNCTION__ தற்போது செயல்படுத்தப்பட்டு கொண்டிருக்கும் செயல்கூறைப் (function) பற்றிய விபரங்களை அளிக்கிறது.
__CLASS__ தற்பொழுது பயன்பாட்டில் இருந்து கொண்டிருக்கும் class பற்றிய விபரங்களை அளிக்கிறது.
__METHOD__ தற்பொழுது இயக்கத்தில் இருக்கும் class இல் இருக்கக்கூடிய method பற்றிய விபரங்களை அளிக்கிறது.
PHP_VERSION PHP யினுடைய பதிப்பு(Version) விபரங்களை அளிக்கிறது.
PHP_OS PHP pre-processor இருக்கும் இயங்குதளத்தின் விபரங்களை அளிக்கிறது.
PHP_EOL புதிய வரிக்கான உருவைக்(character) கொண்டிருக்கிறது.
DEFAULT_INCLUDE_PATH include கோப்புகளுக்காக PHP பார்வையிடும் கொடாநிலை(default) பாதையை அளிக்கிறது.
கணித மாறிலிகள்(Mathematical Constants):
நிரல் எழுதும் நேரத்தையும், கணக்கீடுகள் செய்யும் நேரத்தையும் சேமிப்பதற்காக பயனுள்ள பல கணித மாறிலிகளைக் PHP கொண்டுள்ளது. கீழ்காணும் அட்டவணை கணித மாறிலிகளை வரிசைப்படுத்தப்பட்டுள்ளது.
மாறிலி(Constant) விளக்கம்
M_E e – னுடைய மதிப்பு
M_EULER Euler’s மாறிலியின் மதிப்பு
M_LNPI PI – யின் மடக்கை மதிப்பு
M_LN2 2 -ன் மடக்கை மதிப்பு
M_LN10 10 -ன் மடக்கை மதிப்பு
M_LOG2E அடிமானம் 2 உடைய மடக்கையில் E -னுடைய மதிப்பு
M_LOG10E அடிமானம 10 உடைய மடக்கையில் E – னுடைய மதிப்பு
M_PI PI யின் மதிப்பு
M_PI_2 PI/2 வின் மதிப்பு
M_PI_4 PI/4 -இன் மதிப்பு
M_1_PI 1/PI – இன் மதிப்பு
M_2_PI 2/PI – இன் மதிப்பு
M_SQRTPI PI யின் வர்க்கமூலம்
M_2_SQRTPI 2/PI யின் வர்க்கமூலம்
M_SQRT2 2 – இன் வர்க்கமூலம்
M_SQRT3 3 – இன் வர்க்கமூலம்
M_SQRT1_2 1/2 – இன் வர்க்கமூலம்
கீழ்காணும் நிரலைப் பாருங்கள்:
<?php
echo “Value of e : “.M_E;
echo “<br>”;
echo “Value of Euler’s constant : “.M_EULER;
echo “<br>”;
echo “The natural logarithm of PI : “.M_LNPI;
echo “<br>”;
echo “The natural logarithm of 2 : “.M_LN2;
echo “<br>”;
echo “The natural logarithm of 10 : “.M_LN10;
echo “<br>”;
echo “Value of base-2 logarithm of E : “.M_LOG2E;
echo “<br>”;
echo “The base-10 logarithm of E : “.M_LOG10E;
echo “<br>”;
echo “The value of PI : “.M_PI;
echo “<br>”;
echo “The value of PI/2 : “.M_PI_2;
echo “<br>”;
echo “The value of PI/4 : “.M_PI_4;
echo “<br>”;
echo “The value of 1/PI : “.M_1_PI;
echo “<br>”;
echo “The value of 2/PI : “.M_2_PI;
echo “<br>”;
echo “The square root of PI : “.M_SQRTPI;
echo “<br>”;
echo “The value 2/square root of PI : “.M_2_SQRTPI;
echo “<br>”;
echo “The square root of 2 : “.M_SQRT2;
echo “<br>”;
echo “The square root of 3 : “.M_SQRT3;
echo “<br>”;
echo “The square root of 1/2 : “.M_SQRT1_2;
?>
வெளியீடு