PHP Code Sniffer – நிரல் தரம் சோதனைக் கருவி

>எழுத்து: பாலவிக்னேஷ்

உலகளவில் C, C++ மற்றும் JAVA ஆகியவற்றுக்கு அடுத்தபடியாக அதிக அளவில் உபயோகப்படுத்தப்படும் நிரல் மொழியாக இருப்பது PHP. சிறிய வலைத்தளம் (Website) முதல் பெரிய வலைப் பயன்பாடுகள் (Web Applications) வரை PHP ஆல் உருவாக்கப்பட்டு வருகின்றன. எளிமை, விரைவான பயிற்சி, வலைத்தளங்களுக்கு ஏற்ற வசயிகள் (functionalities) போன்றவைகளே இதன் அதிக பயன்பாட்டிற்கு காரணம்.

பயன்பாடு அதிகமாகும் போது உருவாகும் முதல் தேவை பராமரிப்பு. தகவல் தொழில்நுட்ப உலகில் உருவாக்கியவரே பராமரிப்பது என்பது இயலாத காரணம். நிறுவனம் விட்டு நிறுவனம் மாறுவதில் அரசியல்வாதிகளை முந்திவிடுகிறார்கள். பராமரிக்கும் போதும், குழுவாக வேலை செய்யும் போதும், முதல் கட்டமாக மற்றவரின் நிரலை புரிந்து கொள்ள வேண்டியுள்ளது.

ஒவ்வொருவரும் ஒவ்வொருவிதமாக எழுதும் போது நிரல் புரிந்துக்கொள்ள கடினமாகிறது. எனவே,புரிதல் அதிக நேரமும் எடுத்துக்கொள்கிறது. இந்த சிக்கலைத் தீர்க்க உருவானதே நிரல் தரம். இதன் படி space, bracket என அனைத்திற்கும் தரம் வரையறுக்கப்பட்டிருக்கும். PHP – PEAR library நிரலாளர்கள் பின்பற்றும் நிரல் தரத்தினை இங்கே பார்க்கலாம் – pear.php.net/manual/en/standards.php. PHP உலகில் PEAR – நிரல் தரத்தினை பெரும்பாலோனோர் பின்பற்றி வருகின்றனர்.

ஒரு குழுவானது குறிப்பிட்ட ஒரு நிரல் தரத்தைப் பின்பற்ற முடிவெடுத்த பின், அதைப் பின்பற்றுவது ஒவ்வொரு நிரலாளரின் கடமையாகும். நிரலாக்கும் போது தவறுகள் வருவது இயல்பு. எனவே, தரப்படுத்தப்பட்ட நிரல் தகுந்த தரத்தைப் பூர்த்தி செய்ததா என பரிசோதிக்க வேண்டியுள்ளது. அதற்காக உருவாக்கப்பட்டதே Code Sniffer எனும் கருவி. இந்த கட்டுரையில் Code Sniffer பயன்பாட்டினைப் பற்றி சற்று விரிவாக காணலாம்.

imges

நிறுவல் தேவைகள் :

* PHP பதிப்பு 5.1.2 அல்லது புதியது .
* PEAR தொகுப்பு , PEAR Installer 1.4.0b1 அல்லது புதியது.

Code Sniffer கருவி PEAR தொகுப்பில் ஒன்றாக வருகிறது. மேலும் அது PHP -ஐப் பயன்படுத்தி உருவாக்கப்பட்டுள்ளது . எனவே, இது PHP மற்றும் PEAR தொகுப்பை சார்ந்துள்ளது. இதன் சமீபத்திய பதிப்பு 1.5.1.

1.) டெபியன் அல்லது உபுண்டு இயங்கு தளத்தில் பின்வரும் கட்டளைகளை பயன்படுத்தி எளிதாக நிறுவலாம்.

#apt-get install php-codesniffer

2.)PEAR package manager -ஐப் பயன்படுத்தி நிறுவ, பின்வரும் கட்டளைகளை உபயோகிக்கவும்.

#pear install PHP_CodeSniffer-1.5.1

3.) நீங்கள் உபுண்டுவின் பழைய பதிப்பினை உபயோகித்தால் அல்லது நிறுவதலில் வேறு பிரச்சினை இருந்தால், நீங்கள் நேரடியாக சமீபத்திய பதிப்பினைப் பதிவிறக்கி அதை பயன்படுத்த முடியும்.

பதிவிறக்க இணைப்பு – download.pear.php.net/package/PHP_CodeSniffer-1.5.1.tgz

பயன்படுத்துதல்:

உதாரணத்திற்கு ஒரு எளிய பயன்பாட்டினை பார்க்கலாம் :

1. தொகுப்பினைப் பதிவிறக்கி அதை unpack செய்யவும்.
2. நிரல் தரத்தினை சரிபார்க்க மாதிரி PHP கோப்பினை உருவாக்கலாம்.

sample.php

0)
{
echo “earth is round”;
}
?>

3. நிரல் தரத்தினை சரிபார்க்கும் கட்டளை :

PHP_CodeSniffer-1.5.1/PHP_CodeSniffer-1.5.1/scripts/
#./phpcs /home/bala/sample.php

குறிப்பு: மேற்கண்ட directory யில் உள்ள phpcs கட்டளை உபயோகிக்க ./phpcs என்று தரப்பட்டுள்ளது.

Code Sniffer கருவி பின்வரும் நிரல் தர பிழைகளை காட்டுகிறது :-

FILE: /home/bala/sample.php
——————————————————————————–
FOUND 5 ERROR(S) AFFECTING 3 LINE(S)
——————————————————————————–
1 | ERROR | Short PHP opening tag used; expected “
* @license GNU General Public License http://www.gnu.org/licenses/gpl.html
* @link http://foobar.com
*/

$a=1;
if ($a>0) {
echo “earth is round”;
}
?>
மீண்டும் தரம் பார்க்கையில் பிழைகள் மறைந்து விடுவதை பார்க்கலாம்.

தரங்களைத் தேர்ந்தெடுத்தல் / நிர்ணயித்தல் :

* ஏற்கனவே நிர்ணயிக்கப்பட்ட தரங்களை பட்டியிலிட ,

-i
The installed coding standards are Zend, PHPCS, MySource, Squiz, PEAR, PSR2 and PSR1

* நீங்கள் Zend & PHPCS என்ற நிரல் தரத்தை பயன்படுத்த விரும்பினால், பின்வருமாறு கட்டளை பயன்படுத்தலாம்,

–standard=Zend,PHPCS /home/bala/sample.php

* நீங்கள் மேலேயுள்ள நிரல் தரங்கள் எங்கே வரையறுக்கப்பட்டுள்ளன என்று தெரிந்து கொள்ள வேண்டுமா?

#ls PHP_CodeSniffer-1.5.1/CodeSniffer/Standards/

இங்கே ஒவ்வொரு நிரல் தரமும் அதே பெயரிலான directory யில் பிரித்து வைக்கப்பட்டுள்ளன. Sniffs என்ற directory க்குள் எல்லா தரங்களும் நிரலாக்கப்பட்டுள்ளன .

ஏற்கனவே உள்ள நிரல் தர கோப்புகளிலிருந்து நமக்கேற்றவாறு தேவையான தரங்களை மட்டும் ஒரு தொகுப்பாக சேர்த்து ruleset.xml என்ற கோப்பினை உருவாக்கி அதனை தரம் பார்க்க பயன்படுத்தலாம்.

நமக்கு தேவையானது ஏற்கனவே இல்லையென்றால் நாம் புதியதொரு தரத்தினையும் PHP – ல் நிரலாக்க முடியும்.

மேலும் விவரங்களுக்கு , இங்கு பார்க்கவும் – pear.php.net/manual/en/package.php.php-codesniffer.php

உதவிக்கு அணுகவும் :- kbalavignesh@gmail.com

%d bloggers like this: