"PHP" හි සංශෝධන අතර වෙනස්කම්

විකිපීඩියා වෙතින්
Content deleted Content added
සුළු robot Adding: te:PHP
සුළු robot Adding: yi:פי. עיטש. פי.
332 පේළිය: 332 පේළිය:
[[vls:PHP]]
[[vls:PHP]]
[[wuu:PHP]]
[[wuu:PHP]]
[[yi:פי. עיטש. פי.]]
[[zh:PHP]]
[[zh:PHP]]
[[zh-min-nan:PHP]]
[[zh-min-nan:PHP]]

02:51, 24 මාර්තු 2010 තෙක් සංශෝධනය

PHP නැතහොත් 'php hypertext preprocessor' ,පළමුව ගතික වෙබ් පිටු සැකසීම සදහා නිර්මාණය කරන ලද සර්ව කාර්ය විධානාවලි පරිගණක භාෂාවකි. එය 'html' වෙබ් පිටු තුළට කාවැද්දිය හැකි වන අතර සාමාන්‍යයෙන් වෙබ් සේවාදායකයක් ඒ සදහා හැඩගස්වා ගැනීමෙන් පසු භාවිතා කරනු ලැබේ. PHP බොහෝමයක් සේවාදායකයන් තුළ ස්ථාපනය කළ හැකි වෙයි. මේ වනවිට වෙබ් පිටු මිලියන 20 ක් සහ වෙබ් සේවාදායකයන් මිලියනයක් විසින් PHP භාවිතා කරනු ලබයි. PHP සර්ව මෙහෙයුම් පද්ධති මෟදුකාංගයකි. එනම් එය මෙහෙයුම් පද්ධති බොහොමයක් මත කිසිදු වෙනසකින් තොරව භාවිතා කළ හැක.

PHP

PHP පළමුව ආරම්භ කරනු ලැබූයේ රාමුස් ලර්ඩොෆින්(Rasmus Lerdorf ) විසින් 1995 දීය. එතැන් සිට අඛන්ඩ වර්ධනයක් PHP වල දැකිය හැකිවිය. මේ වන විට මූලික පීඑච්පී ගොඩ නැංවීමේ කටයුතු PHP කණ්ඩායම විසින් කරගෙන යනු ලබයි. විධිමත් නියමාවලියක් නොමැති නිසා මේ කණ්ඩායමේ කාර්යයන් පොදු පිළිගැනීම බවට පත්වී තිබේ. PHP, PHP බලපත්‍රය යටතේ නිකුත් කරනු ලබන නිදිහස් මෘදුකාංගයකි. මේ GNU GPL ට අනුකූල නොවන්නේ නාමයේ වෙනස් කම නිසාය. PHP විධාන රේඛාව මත ක්‍රියා කරන මෘදුකාංගයක් බවටද දැන් පරිවර්තනය වෙමින් පවතින අතර ග්‍රාපිකරූපී මෘදුකාංගයක් ලෙසද භාවිත වේ.


ඉතිහාසය

PHP පළමුව ('personal home pages') 'පුද්ගලික මුල් පිටු' යන තේරුම ලැබෙන පරිදි භාවිතා කර ඇත. ආරම්භක යුගයේදි (1994දී පමණ) මෙය රාමුස් ලරඩොෆින් විසින් C පරිගණක භාෂාවෙන් ලියන ලද පොදු වාහල මුහුණත්(CGI) ද්වීමය ගොනුවක් 'perl' විධානාවලියක් ප්‍රතිස්ථාපනය කිරීමට භාවිතා කිරීමෙන් මෙහි ආරම්භය සිදු විය. මෙම මෙවලම බොහෝ දුරට භාවිතයට ගන්නා ලද්දෙ ප්‍රචාරන කටයුතු හා වෙබ් අඩවියට පැමිණෙන අමුත්තන් ගැන තොරතුරු එකතු කරගැනීමටත්ය. මෙම ද්විමය ගොනුව තම ආකෘති පරිවර්ථකය සමග සම්බන්ධ කර ගැනීමෙන් ඔහු PHP / එෆ් අයි නැමැති මෘදුකාංගය නිපදවීය. මෙයට ඉතා ඉහල හැකියාවන් පැවතින. මෙයට C පරිගණක බසින් ඉතා විශාල දායකත්වයක් ලැබුන අතර දත්ත සමුදායන් සමග සම්බන්ධ වීම ආදි හැකියාවන් පැවතුන බැවින් සරල ගතික වෙබ් අඩවි නිර්මාණය කිරීම පහසු විය. 1995 ජූනී 8 වැනිදා පොදු ජනයා වෙනුවෙන් PHP නිකුත් කෙරිණ. මෙහි මූලික අරමුණ වූයේ ගැටලු හා වැරදි සහිත තැන් නිවැරදිව හදුනාගැනීමයි. මෙය PHP2 ලෙස නම් කරනු ලැබූ අතර එයට අද පවතින බොහෝ මූලික හැකියාවන් පැවතිණ. මේ අතර පර්ල් බසට සමාන විචල්‍ය දැක්වීමේ ක්‍රමය, ආකෘති පත්‍ර භාවිතය හා html පිටු අතරට කාවැද්දිය හැකිවීම දැක්විය හැක. කාරක රීති බොහෝදුරට පර්ල් බසට ලං වුවත් මෙය සීමාසහිත වූත් සරල වූත් හා ස්ථීර වූත් බසක් ලෙස පිළිගැනීමට ලක්විය.

ramus
රාමුස් ලරඩොෆින්
ඇන්ඩි ගට්මන්ස්
සෙව් සුරාකි



Technion IIT, හි රැකියා කරන ඊශ්‍රායලීය ජාතික සෙව් සුරාකි හා ඇන්ඩි ගට්මන්ස් විසින් 1997 දි PHP විග්‍රහකය නැවතත් ලියන ලදි. මෙය PHP 3 බවට පත්වීමට උපකාරී වූ අතර නව අර්ථ දැක්වීමද මෙයට ලැබෙන්නේ මෙතැන් සිට ය. PHP 3ද බොහෝකාලයක් පොදුජනයා අතර පර්යේෂණ මට්ටමෙන් භාවිතයට ඉඩසලස්වා දෙන ලදි. අනතුරුව 1998 ජූනීමාසයෙදී නිල වශයෙන් PHP 3 නිකුත් කරනා ලදි. සෙව් සුරාකි හා ඇන්ඩි ගට්මන්ස් නැවතත් PHP මාධ්‍යය වෙනස් කිරීමෙන් සෙන්ඩ් යාන්ත්‍රණය බිහිවිය. ඒ 1999 දීය. ඔවුන් මෙහිදී සෙන්ඩ් තාක්ෂනායතනයද පිහිටවූහ.


2000 මැයි 22 වන දින PHP 4 සෙන්ඩ් යාන්ත්‍රන අංක 1.0 සමඟ නිකුත් විය. 2008 දී 4.4.9 දක්වා මෙම ශාඛාව විහිදුනි. තව දුරටත් PHP 4 වර්ධනය කිරීම සිදු නොවේ. මේ සමගම මෙයට සපයන ලද ආරක්ෂක යාවත්කාලීන කිරීම්ද ඇණ හිටින ලදි. PHP 5 නිකුත් වූයේ 2004 ජූලිමස 13 වන දිනයි. මේ සදහා දියුණු කරන ලද වස්තු කේන්ද්‍රික ප්‍රවේශයේද(object oriented) සහායද එක් කරන ලදි. PHP පන්ති දත්ත විස්තාරකය, සහ තවත් බොහෝ දියුණුකිරීම් මෙහිදී හදුන්වා දෙන ලදි. වසර 2008 වන විට පවතින් එකම ස්ථාවර සංස්කරණය PHP 5 වෙයි. PHP 6ද මේ වන විට PHP 5ට සමාන්තරව දියුණු කරමින් පවතී. ප්‍රධානතම වෙන්ස්කම් ලෙස 'register_globals' ඉවත් කීරීම, මායා ඉදිරිපත් කිරීම්(magic quotes), ආරක්ෂක ක්‍රමය (safe mode) . මේවා ඉවත් කිරීමට මුලික හේතුව පද්ධති වල ආරක්ෂාවට මේවා තර්ජනයක් වීමයි. තව දුරටත් magic quotes වෙනුවට addslashes() විධානට භාවිතා කල හැකිය නැතහොත් දත්ත සමුදාය නිර්මාණය කල ආයතනයට විශේෂ වු ක්‍රමයක් මේ සදහා භාවිතා කල හැකිය. PHP 6 දි ඉවත් කරනු ලැබු විධාන PHP 5.3 දී භාවිතා නොකරන ලෙස උපදෙස් දෙනු ලැබේ. මේවා භාවිතයේදී අනතුරු ඇඟවීමක් බලාපොරොත්තු විය හැක.(මෙම අනතුරු ඇඟවීම් නොදක්වා සිටීමට PHP ඉතාම පහසුවෙන් හැඩ ගැස්විය හැක).



2008 පෙබරවාරී 5 වෙනිදා සිට බොහෝ ඉහල පෙලේ ආයතන PHP 4 සදහා සහය දැක්වීම අත්හිටවන ලදි. මෙයට මූලික හේතුව PHP ගොඩනගන්නන්ගේ එකමුතුව විසින් PHP 4 සිට PHP 5 දක්වා සංක්‍රමණයට අනුබල දෙනුලැබූ නිසාය. වර්තමානයේදි PHP යුනිකෝඩ් සදහා සහාය නොදක්වයි. PHP 6දි යුනිකොඩ් සහාය ලැබෙනු ඇත. ඉන්පසුව ඉංග්‍රිසි නොවන භාශා වලින් දත්ත පන්ති(classes) ඉදිරිපත් කිරීමටත්, විධාන සටහන් කිරීමටත් භාවිත කරන්නන්ට හැකියාව ලැබේ. මීට අමතරව දත්ත අතරටද වෙනස් භාශා ගෙන යාමේ හැකියාව ලැබේ. වර්ථමානයේද ඉංග්‍රිසි නොවන බසක් අණුලකුණු වැලක්(string) ලෙස සටහන් කිරීමේ හැකියාව පවතී. මෙය දත්ත අතරට ගෙන යාමක් ලෙස හැදින්විය හැකි නොවේ. PHP බිටු 32(bit) මෙන්ම බිටු 64(bit) හිද ක්‍රියාත්මක වෙයි. නමුත් වින්ඩෝස් මෙහෙයුම් පද්ධතිය සදහා ඉදරිපත් කර ඇති සංස්කරණය බිටු 32 දී පමණක් ක්‍රියා කරයි. නමුත් මෙහෙයුම් පද්ධතියෙ ගැලපීම් ක්‍රම යොදාගනිමින් අපට මෙම තත්වය මඟ හරවා ගත හැක.


අර්ථය
රතු පැරණි නිකුතුව; සහාය නොදක්වයි
කහ පැරණි නිකුතුව; සහාය දක්වයි
කොළ වත්මන් නිකුතුව
නිල් අනාගත නිකුතුව
ප්‍රධාන අනුවාදය සුළු අනුවාදය නිකුතු දිනය සටහන්
1 1.0.0 1995-06-08 "Personal Home Page Tools (PHP මෙවලම්)" යන නම වෘත්තීයමය මට්ටමෙන් භාවතා කරන ලදි. මුලින්ම මෙම නම භාවතා කරනා ලද්දේ මෙම අරථයෙනි
2 2.0.0 1997-11-01 නිර්මාණකරු විසින් කාර්යක්ෂම හා වේගත් ගතික වබේ පිටු නිකුත් කරනා ක්‍රමයක් ලෙස හදුනාගන්නා ලදි
3 3.0.0 1998-06-06 එක නිපදවන්නෙකුගේ සිට බහුතර නිපදවන්නන් ප්‍රමාණයක් වෙත ගෙන යන ලදි සෙව් සුරාකි හා ඇන්ඩි ගට්මන්ස් මූලට මුල සිට රචනා කරනා ලදි
4 4.0.0 2000-05-22 Zend engine රචනා කරන ලදි.
4.1.0 2001-12-10 පොදු විචල්‍යයන් හදුන්වා දෙන ලදි($_GET, $_POST, $_SESSION, යනාදිය )
4.2.0 2002-04-22 ජාලය හරහා ලැබෙනා දත්ත කෙලින්ම විචල්‍යයයන් තුලට ආදේශ කිරීමේ ක්‍රමය ඉවත් කරනා ලදි
4.3.0 2002-12-27 CGI වෙනුවට CLI තාක්ෂණය හදුන්වා දීම.
4.4.0 2005-07-11 උදව් පිටු ඇතුලත් කරනා ලදි.
4.4.8 2008-01-03 වැඩි දියුණු කිරීම් යම් ප්‍රමාණයක් සහ ආකර්ෂක ක්‍රම හදන්වා දීම . PHP 4 හි ජීවිත කාලය අවසන් කරනා ලදි.
4.4.9 2008-08-07 වැඩි දියුණු කිරීම් බොහොමයක් සහ තව දුරටත් ආරක්ෂක ක්‍රම වැඩි දියුණූ කිරීම. නවතම නිකුතුව වන්නෙ PHP 4.4
5 5.0.0 2004-07-13 Zend එන්ජිම අංක II වසුතු කේන්ද්‍රික ගොඩ නැංවීමේ ක්‍රමය හදුන්වා දෙන ලදි
5.1.0 2005-11-24 වැඩි දියුණු කිරීම් බොහොමයක් සහ තව දුරටත් ආරක්ෂක ක්‍රම වැඩි දියුණූ කිරීම
5.2.0 2006-11-02 පෙරහන් දිගුව ක්‍රියාත්මක කිරීම
5.2.11 2009-09-16 ආරක්ෂක ක්‍රම වැඩි දියුණූ කිරීම
5.3.0 2009-06-30 දියුණු කරන ලද මයික්‍රොසොෆ්ට් වින්ඩොස් සහාය'mime' සහාය සදහා mysqli, sqilite3,fileinfo ආදිය හදුන්වා දීම. දේශිය කරන සහාය හදුන්වා දීම. 'ereg දිගුව ඉවත් කිරීම. ක්ලේෂ ඉවත් කිරීමේ ක්‍රම හදුන්වා දීම
6 6.0.0 දිනයක් නොමැත යුනිකේත සහාය 'register_globals', 'magic_quotes' සහ 'safe_mode'; ඉවත් කිරීම

භාවිත

PHP යනු සර්ව කාර්ය විධානාවලි භාශාවකි. මෙය විශේෂයෙන්ම සුදුසු වන්නේ වෙබ් නිර්මාණයන් සදහායි. PHP සාමාණ්‍යයෙන් වෙබ් සේවාදායකයක් මත ක්‍රියාත්මකක වේ. ඔනෑම PHP දත්ත සටහනක් ක්‍රියාත්මක කිරීම සිදුකරනු ලබන්නේ PHP ධාවකයය(run time) මගිනි. මේ ක්‍රමය මගින් ගතික වෙබ් පිටු නිරුපනය කිරීම සිදු කරනු ලැබේ. මීට අමතරව විධාන රේඛාව මතත විධාන සටහන් කිරීම මගින්ද සේවාලාභිහයා සතුව ඇති විචල්‍ය පරිශිලක අතුරු මුහුණතක් භාවිතයෙන්ද ක්‍රියාත්මක විය හැක. බොහෝ වෙබ් සේවා දායකයන් හා මෙහෙයුම් පද්ධති මත PHP පහසුවෙන් ස්ථාපනය කල හැක. තව දුරටත් මෙය බොහෝ පරිගණක දත්ත ගබඩා සමගද භාවිතා කල හැක. PHP සම්පූර්ණයෙන්ම නිදහස් මෟදුකාංගයකි. (නිදහස් බව පවතින්නෙ මුදල් මත නොවේ.) එම නිසා අවශ්‍ය නම් PHP මුලාශ්‍ය කේත සමපූර්ණයෙන්ම ලබා ගැනීමෙන් අනතුරුව තමාට අවශ්‍ය ලෙස වෙනස් කම් කර භාවිතා කිරීමටද හැකියි.


පටන්ගැනීමේදි PHP භාවිතා කරනු ලැබූයේ පෙරහනයක් ලෙසිනි. මූලික වශයෙන් එය දත්ත සමුදායක් (බොහෝවිට අක්ෂර) හා PHP විධාන සහිත ව සටහනකින් ආදානය කර ගනු ලැබේ, ඉන් අනතුරුව එල සකස් කර තවත් දත්ත සමුදායක් ලෙස ප්‍රතිදානයනට යොමු කරනු ලැබේ. සාමාණ්‍යයෙන් ප්‍රතිදානයන html වේ. PHP 4 සිට විධාන විග්‍රහකය දත්ත ද්වියාංගී කේත ලෙස ප්‍රතිදානය කරනු ලැබේ. එම දත්ත අවසාන ප්‍රතිඵලය බවට පත් කරනු ලැබූයේ සෙන්ඩ් එන්ජිම මගිනි. මෙය සමස්ථ ක්‍රියාකාරීත්වය සීග්‍ර කිරීමට හේතුවක් විය. වර්ථමානය වන විට PHP හි මූලික අරමුණ සේවාදායක විදානාවලි සටහන් කිරිමයි. මෙහි ක්‍රියා කරීත්වය මයික්‍රාසෙෆට් ආයතනයේ Active Server Pages හා සන් මයික්‍රො සිස්ටම්හි Java Sever Pages වල ක්‍රියා කාරීත්වයට සමාන වෙයි. මේ වන විට PHP සතුව බොහෝ දත්ත සැකිලි අන්තර් ගතව ඇත. මේ නිසා ඉතා සිග්‍රව මෘදුකාංග ගොඩනැංවීම සිදුකල හැක. මින් සමහරක් ලෙස CakePHP, Symfony, CodeIgniter, සහ Zend Framework හදුන්වා දිය හැක.



වෙබ් කර්මාන්තයේදි LAMP හා WAMP තාක්ෂණය බොහෝ ජනප්‍රිය වී ඇත. මෙහිදි LAMP යනු Linux, Apache, MySql, හා PHP ත් WAMP යනු Windows, Apache, MySql, PHP යන්නත් වෙයි. (P අකුරින් සමහර අවස්ථා වලදී python , perl ද දැක්වේ) . 2007 අප්‍රේල් මස වන විට වෙබ් අඩවි මිලියන 20 PHP සහිත සේවාදායකක වල ස්ථාපනය කර ඇත. PHP මොඩුයල මේ වන විට් වඩාත්ම ජනප්‍රිය Apahe මොඩුලය බවට පත්වී ඇත. වැදගත් බොහෝ වෙබ් අඩවි මේ වන විට PHP වලින් නිර්මණය කර ඇත. මේවා අතර Facebook, හි මුහුණත , Wikipedia (MediaWiki), Yahoo!, MyYearbook,[39] Digg, Joomla, WordPress, මුල් දින වල YouTube, Drupal සහ Tagged විශෙෂ වේ.


ආරක්ෂාව

ඇමරිකාවේ ජාතික අනතරු සහිත දත්ත ගබඩාවේ පරිෂණක මෘදුකාංග සියල්ලකම පාගේ ඇති අඩුපාඩු සටහන් කර ඇත. මේ දත්ත ගබඩාවෙ අඩංගු දත්ත වලින් 2004 වන විට 20% php වලට අදාල විය. 2005 වන ටික 28%ද , 2006 වන විට 43% 2007 දී 36% හා 2008 වන විට 35% යනාදි වශයෙන් මෙහි අගයන් සටහන් විය. මේ බොහොමයක් ගැටලු දුරස්ථ පරිගණකයක් මගින් තොරතුරු ලබාගනීමේ තර්ජනයන් පිලිබදව වේ. විශේෂයෙන් දත්ත මූලයන්ගෙන් තොරතුරු සොරාගෑනිමත් අනවශ්‍ය විධානාවලි ගොනු ක්‍රියාත්මක් කරවා ගැනීමත් මෙහිදි විශේෂයෙන් වැදගත් වේ.


මේ බොහොමයක් වැරදි වලට හේතුව පරිගණක භාශාව නොව භාවිතා කරන්නනන් නිවැරදි තත්ව පාලයනයකින් තොරව තොරතුරු කේත ගත කිරිමයි. පරිගණයක භාශාවේ ඇති අඩුපාඩු නිසා සිදු වන ගැටලු මලු ප්‍රමාණයෙන් 1%ටත් අඩුය. සමහර පරිගණක භාශා කේත කරුවන් විශ්වාස නොකිරීමක් දැකිය හැක. මෙහිදි දත්ත පිටස්තරයෙකු විසින් ඇතුළු කිරීමේදි අනුගමනය කල යුතු ක්‍රම යනාදිය එහිදිම පරික්ෂාවට ලක්කරනු ලැබේ. මෙවැනි ක්‍රමයක් PHP සදහාද හදුන්වා දීමට කටයුතු කරනු ලැබුවද එය බොහෝ අවස්ථාවන්හීදි ප්‍රතික්ෂේප විය.

වාග් රීතිය

PHP සැලකිල්ලට ගනුලබන්නෙ එයට අදාල පරිසිමයන් (delimiters) අතර පවතින කේත පමණි. එයින් පිටත පවතින කිසිදු සටහනක් විග්‍රහ කිරීමෙන් එය වලකී. වඩාත්ම ප්‍රසිද්ධ පරිසීමකය ලෙස <?php හා <? හදුන්වා දිය හැක. මේ අතර තුර පවතින ඔනැම සටහනක් php වාග් රීති වලට අනුකූල විය යුත අතර ධාවන කාලය තුලදී එය විග්‍රහ කර ප්‍රතිඵල ලබා දීමට PHP කටයුතු කරයි.<scirpt language=php> අකාරයට ද මෙය භාවිතා කල හැක. <%  %> ආකරයෙන්ද මෙය භාවතා කල හැකි මුත් එය වඩාත් සුදුසු ක්‍රමයක් ලෙස සැල කිය නොහැක. මන්ද එල සෙවා දායකය මත රදා පවතින බැවිනි. මේ සියලු ක්‍රමයන්හි මූලික අරමුන සාමාණ්‍ය html PHP සටහන් වලින් වෙන් කර හදුනා ගැනීමයි.



මෙහි මුල් අකාරයේ පරිසීමකය එනම් <?php > <?> XHTML හා XML සටහන් වලදී නිවැරදි සැකසුම් රීති වලට පරිවරතනය වේ. මේ අනුව PHP අවසානයේදී තම දත්ත රදවා තබා ගන්නෙ XML සටහන් ආකාරයටයි. විචල්‍ය යන් $ ලකුණක් මගින් ආරම්භ කල යුතුය. නමත් භාවිතයට පෙර නිරූපණයක් අපේක්ෂා නොකරයි. (" ") මගින් විචල්‍යයක අගය අනුලකුණු වැලක්(string) තුල සටහන් කිරීමට හැකියාව ලැබේ. හිස් පේලි ගැන සැලකීමක් දක්වනු නොලැබේ. විධාන දෙකක් වෙන් කිරීම සදහා ( ; ) භාවිතා කරනු ලබයි. සටහන් තැබීම සදහා /* */ ත් // # යන ක්‍රම තුනම භාවිතයට ගත හැක. මෙහිදී // හා # එක පේලියේ සටහන් තැබීම සදහා භාවිතා කරනු ලැබේ. දත්ත වෙබ් බ්‍රව්සරය වෙතට ප්‍රතිදාන කිරීම සදහා මූලික වශයෙන් සුප්‍රසිද්ධ echo විධානය භාවතිතා කරයි.


PHP හි මූලික පද බොහෝ C බස මත ගොඩ නැගුන ඉහල භාශාවල රිතින්ම භාවතයෙන් ගොඩ නැගී ඇත. if , for ,while ආදිය අනෙකුත් පරිගණක භාශාවල අරුතම ගෙන ඒ. කාර්යයන් වෙන් කිරීමෙ ක්‍රමයද java, C, C++ Perl ආදියට බොහේ සමාන කම් දක්වයි.


දත්ත වර්ග

PHP සංඛ්‍ය මතකයේ තබා ගැනීම සිදු කරන්නනෙ ඒ ඒ මෙහෙයුම් පද්ධතියට විශේෂ වන ආකාරයටය. සාමාණ්‍යයෙන් බිටු 32 පූර්ණ සංඛ්‍යා ලෙසයි. මෙහිදි විටෙක + හො - බව නොදක්වා ඇති සංඛ්‍යා + හො - බව දක්වා ඇති සංඛ්‍යා බවට පරිවරථනයක් සිදු විය හැක. මෙය අනෙකුත් භාශා වලට වඩා මෙහදි වෙනස් කමක් දක්වයි. සංඛ්‍ය දක්වීමේද පාදය 10, 16 , 8 භාවිතා කිරීමේ නිදහස පවතී. දශම සංඛ්‍ය දැක්වීම සිදුවන්නේද මෙහෙයුම පදිධතියට විශෙෂ වන ආකරයටයයි. මෙහිදී සාමාණ්‍ය දශම තිත භාවතා කල හැකි අතර නැතහොත් විද්‍යාත්මක අංකනය භාවතා කල හැක. PHP සතුව බූලියන(සත්‍ය හො අසත්‍ය බව) දැක්වීමේ ක්‍රමයක් ද පවතීත මෙය Java හා C++ වල ආකාරයම ගනී. මෙහදි 0 අසත්‍ය ලෙසත් 0 නොවන ඔනැම සංඛ්‍ය වක් සත්‍ය ලෙසද ගනී. null වර්ගය කිසිදු අගයක් නොමැති විචල්‍යක් දැක්වීමට භාවතා කරයි.null වරගයට අදාල විය හැකි එකම අගය NULL වේ. Resource දත්ත වර්ගයට අදාල වන දත්ත බොහොවිට වෙනත් මාධය වලින් ලබාගන්න ලද සමපත්වේ. මෙවැනි සමපත් ලබාගනු ලබන්නෙ එකතු කරනු ලැබු දිගුවකිනි(extention). උදාහරණ ලෙස පිනතුර, දත්ත ගොනු දැක්විය හැක. දත්ත ආරාවකට (Arrays) PHP වල භාවතා කල හැකි ඔනැම දත්ත වර්ගයක් දරාගත හැක. එනම් සංඛ්‍යා, වස්තූන්, අණු ලුකණු වැල් යනාදි ඔනෑම වර්ගයක්. දත්ත අනුපිලිවෙල මෙහිදි ආරක්ෂාකාරීව පවතී. මෙහදි යතුරු හා අගයන් යන දෙකම ආරකෂා කාරීව පවතින අතර ඔනැම මොහොතක මේවා මාරු කිරීමද කල හැක.

සම්මත PHP ලේඛනාගාරය (library) සාමාණ්‍යයෙන් පවතින ගැටලු පහසුවෙන් විසදා ගැනීමේ ක්‍රම ශිල්ප හදුන්වා දෙයි.


ශ්‍රිත

PHP සතුව ශ්‍රිත (functions) සිය ගනනක් ඇත. තව සමහරක් අමතර දිගු ආශ්‍රයෙන් ලබා ගත හැක. මෙම ශ්‍රිත ඉතා හොදන් PHP වෙබ් අඩවිය තුල ලේඛන ගත කර ඇත. නමුත් මෙහිදි නාමික සමප්‍රදායන්ගෙ ඇති වෙනස් කම් සැලකිල්ලට ගත යුතුය. තවමත් PHP සතුව පොටවල්(threads) කිහපයක් හරහා ක්‍රියාත්ම වීමේ ක්‍රමයක් නොමැත. එහෙත් කාර්යයන් කිහිපයක් එක විට කිරීමේ හැකියාව එය සතුව පවතී.


අතීතයේ


අතීතයේදි කාර්යයන් කරගනැමට ශ්‍රිතයක් ක්‍රියාත්මක කිරගැනීමට එහි නමෙන්ම කතා කල යුතුය නැතහොත් එම ශ්‍රිතයේ නම අඩංගු විචල්‍යයක් භාවිතා කළ යුතුයි. භාවිත කරන්නන් හට අවශ්‍ය වන ශ්‍රිත ඔනෑම මොහොතක නිර්මාණය කර ගැනීමට පුළුවන. ශ්‍රිත අවශ්‍ය නම් කේත රාමු තුල වුවද අර්ථ දැක්වීම සිදු කළ හැක. එනම් එම ශ්‍රිතය විග්‍රහ වෙනවාද නැද්ද යන්න තීරණය වන්නේ කේතයන් ක්‍රියාත්මක වන මෙහොතේ දීමය. ශ්‍රිතයක් ආමන්ත්‍රණය කිරීමේද සෑම විටම වරහන් භාවිතා කළ යුතුය. මෙය බල නොපන එකම අවස්ථාව තර්කයන් එකක්වත් නොගන්නා පන්තියක් මගින් වස්තුවක් සකස් කිරීමේදීය. එහිදී new යන වචනය භාවතා කල යුතුමය. PHP මගින් නාමයක් නොමැති ශ්‍රිතයක් වුවද ගොඩනැංවිය හැක. මෙහිදී create.function() යන ශ්‍රිතය භාවිතා කළ යුතුයි. මේවා සම්පූර්ණයෙන්ම නාමයක් රහිත ශ්‍රිත ලෙස හදුන්වා දීමට නොහැක. කෙසේ වුවත් ශ්‍රිතයක් ක්‍රියාත්ම කරවා ගැනීමට අනිවාර්යෙන්ම එහි බැදියක් හරහා යායුතුයි නැතහොත් $function.name() යන්න භාවතා කල හැක.


නවතම

PHP වැසූ දත්ත කොටස් වලට සහයෝගය ලබා දීමට මේ වන විට කටයුත කර ඇත . ඉතාම නිවැරදි නාම රහිත ශ්‍රිත සකස් කර ගැනීම සදහා මෙම ක්‍රමය භාවතා කරන්න .

function getAdder($x)
//r එකතු කරන්න යන අර්ථය ගෙන ඒ. 
{
   return function ($y) use ($x) {
       return $x + $y;
   };
}

$adder = getAdder(8);
echo $adder(2); // prints "10"
//


මෙහිදී getAdder() යන ශ්‍රිතය $x යන විචල්‍ය මගින් ආවරණයක් සකස් කර ගෙන ඇත. මෙහි use යන වදන මෙම ශ්‍රිතයට ඉහල අති $x භාවිතා කරන ලෙස උපදෙස් දීම සිදු කරනු ලබයි. මෙම අභ්‍යන්තර ශ්‍රිතය $y ලෙස තවත් තර්කයක් ලබාගනු ලබයි. මෙය මෙම දෙකෙහි එකතුව ඉදරිපත් කරනු ලබයි. වෙනත් ආකාරයකට දැක්වුව හොත් එම ශ්‍රිතය ගබඩා කර තැබීමක් මෙහිදී දැකිය හැක.


වස්තූන්

මූලික වසතු කේන්දික හැකියාව PHP 3 හදී හදුන්වා දෙන ලද අතර PHP 4 හිදී තව දුරටත් වැඩි දියුණු කරන ලදි. PHP 5 දී මෙය සම්පූර්ණයෙන්ම නැවතත් මුල සිට රචනා කරන ලදි. මෙහදී එහි අඩංගු විශේෂාංග ගණන වැඩි කරන ලද අතර ක්‍රියාකාරීත්වයද වැඩි දියුණු කරන ලදි. මුල් අවස්ථා වලදි වස්තූන්ට සලකන ලද්දෙ මූලික දත්ත වර්ගයක් ලෙසයි. මෙහි ඇති ගැටළුව වන්නෙ අවස්තුව වෙනත් තනකට ගෙන යාමේදී මලු වසතුවම නව ස්ථානයට පිටපත් වීමයි. හේතුව වස්තූන් හදුනාගන්නා ලද්දෙ එහි අගන්ගෙන් මිස එහි බැදිම ආශ්‍රයෙන් නොවීමයි. PHP 5 විසින් private හා protected ආකාරයට විචල්‍යයන් දැක්විය හැකි විය. ඒ සමගම සාරාංශ පන්ති හා අවසාන පන්ති සාරංශ ශ්‍රිත අවසාන් ශ්‍රිත යනාදියද හදුන්වා දෙන ලදි. තව දුරටත් පන්ති වල අරම්භයෙද් ක්‍රියත්මක වන යෙදීම් යනාදියද වැරදි හදුනා ගැනීමට සමමත ක්‍රමයක්ද අළුතින්ම හදුන්වා දෙන ලදි. මුහුණත් ක්‍රමයක්ද මෙහිදී හදුන්වා දෙන අතර බහු කුල පුවෙණිගත කිරීමද අඩංගු විය. foreach යෙදීම දමග වස්තූන් භාවිතා කීරීමේ හැකියවන්ද ඉදිරිපත් කරන ලදි. සථිර විචල්‍යයන් නාමයක් සමග සම්බන්ධ කරන ලදි(එහි ඇති බැදීමකට සම්බන්ධ නොකර ).


භාවිත කරන්නා වස්තුවේ පිටපතක් clone වදන භාවතයෙන් ගොඩ නැගුවහොත් සෙන්ඩ් එන්ජිම මුලින්ම _clone() යන ශ්‍රිතය පන්තිය තුල හදුන්වා දී ඇත්දැයි සොයා බලනු ලැබේ. එසේ හදුන්වා දී නොමැති අවස්ථා වලදී සාමාණ්‍යයෙන් පවතින ශ්‍රිතය භාවිතා කරනු ලැබේ. මෙය එම වස්තුවේ අගයන් සම්පූර්ණයෙන්ම පිටපත් කරනු ලබයි. _clone() ශ්‍රිතය පන්තිය තුළ හදුන්වා දී ඇත්නම් එය අදාල වස්තුවේ අගයන් පිටපත් වන්නෙ කෙසේද යන්න ගැන වගකීම් සියල්ල දරාගත යුතුය. භාවිතා කරන්නන්ගේ පහසුව තකා එන්ජිම අදාල වස්තුවේ සියලුම අගයන් පිටපත් කිරීමට පහසුකම් සලස්වා ඇත එම නිසා අවශ්‍ය වන්නෙ අවශ්‍ය තන්හීදී සුදුසු වෙනස්කම් කිරීම පමණි.

වේග ප්‍රශස්තීකරණය

වෙනත් විධානාවලි භාශාවන් අයුරින්ම මෙහි කේතද මනුශ්‍යයින්ට කියවිය හැකි ආකාරයෙන් රදවා තබාගනු ලැබේ. පසුව එය අවශ්‍ය අවස්ථාවේදි සකස් කර ධාවනය කරනු ලැබේ. මෙසේ වෙබ් පිටුව වෙත පිවිසෙන සෑම අවස්ථාවකම මුල සිට පිටුව සම්පාදනය කර ඉදිරිපත් කරනවාට වඩා එක වරින් සකස් කර ද්වියාංගී කේත රදවා තබා ගත හැකි මෙවලම්ද පවතී. (උදා. phc, roadsend)

කේත වැඩි දියුණු කරන මෙවලම් වල අදහස වෙබ් පිටුව දිස්වීමට යන කාලය අවම කිරීමයි. ස්වභාවයෙන්ම PHP සම්පාදක වල ලක්ෂණය වනුයේ සකස් කරන අතරතුර එහි ප්‍රශස්තිකරණද සිදු වීමයි. උදාහරණ ලෙස eAccelerator නම් දිගුව භාවිතා කළ හැක.


ප්‍රශස්තිකරණය කළ හැකි තවත් ආකාරයක් වන්නේ වෙබ් පිටු නැවත භාවිතා කළ හැකි පරිදි 'Opcode'පරිගණක මතකයේ රදවා තබා ගැනීමයි. Opcode මතකය පොදුවේ භාවිතා කරනු ලබයි. එනම් ලැබෙනා සෑම පිවීසීමටකටම වෙබ් පිටුව මුල සිට සංස්කරණය කිරීම අනවශ්‍ය වේ. Opcode මතක‍ය PHP 6 සමග ඉදිරිපත් කිරීමට බලාපොරොත්තු වන අතර Zend ප්‍රජාව වෙත ඉදරිපත් කරන ලද සංස්කරණය සමග මේ වන විටද ඇත.


සම්පත්

PHP සමග ලබාදෙනු ලබන නිදහස් දත්ත පුස්තකාලය මගින් සාමාණ්‍යයෙන් අවශ්‍ය වන බොහෝ ක්‍රියා දාමයන් ඉතා පහසුවෙන් කරගත හැක . මේ අතර FTP සේවාදායකයන් සම්බන්ධ කර ගැනීම, දත්ත ගබඩා සම්බන්ධ කර ගැනීම, එය තුලටම සමබන්ධ කරන ලද SQL සම්බන්ධතාවය(PostgreSQL, MySQL හා SQLite, LDAP විශෙෂ වේ.). C පරිගණක භාශාවේ ඇති බොහෝ පහසුකම් PHP සමග ආරම්භයේ සිටම පවතී.

ඔබට අවශ්‍ය පහසුකම් සහිත දිගුව C බසින් නිමවා ඉන්පසු PHP සමග භාවිතා කිරීමේ හැකියාව පවතී. මේවා PHP සමගම සම්පාදනය කළ හැකි අතර නතහොත් ගතික ආකාරයෙන් ධාවන අවස්ථාවේදීම ලබාගෙන භාවිතා කළ හැක. මෙවැනි දිගු වින්ඩෝස් මෙහෙයුම පද්ධතියේ API සදහා සහය දැක්වීමට,  UNIX ආකාරයේ පද්ධති වල ක්‍රියාකාරීත්වයට සහාය දැක්වීමට, බහු බයිට් අණුලකුණු වැල් සදහා සහාය දැක්වීම සදහා හා සමහර දත්ත සම්පින්ඩක භාවිතයට යොදා ගත හැක. සාමාණ්‍යයෙන් භාවිත නොවන ක්‍රියාකාරීත්වයන් ලෙස අන්තර්ජාල චැට් සදහා දක්වන සහාය, සේවා දායකය මත රූප නිර්මාණය කිරීමේ හැකියාව, කථන හැකියාව ආදිය වැදගත්වේ. මෙම දිගු ලබාගත හැකි පහසුම මග PHP සමාජයේ දත්ත පුස්තකාලය භාවතා කිරීමයි. Zend ආයතනය PHP භාවිත කරන්නන් සහතික කිරීම සදහා විභාග ක්‍රමයක් ද හදුන්වා දී ඇත


මෙයද බලන්න

නිදහස්_හා_විවෘත_මූලාශ්‍ර_මෘදුකාංග

ජාවා_(පරිගණක_ක්‍රමලේඛන_බස)


බාහිර පිටු

PHP මුල් පිටුව

"https://si.wikipedia.org/w/index.php?title=PHP&oldid=87327" වෙතින් සම්ප්‍රවේශනය කෙරිණි