PHP
30+ PHP Best Practices for Beginners (2)
ပထမ ၁၀ ခ်က္ကို ဒီမွာ ဖတ္ႏိုင္ပါတယ္။ အရွည္ၾကီးေရးလိုက္ရင္ ဖတ္ရတာ ပ်င္းသြားျပီး ေခါင္းထဲမဝင္မွာ စိုးတာရယ္၊ အခ်ိန္သိပ္
မရတာရယ္ေၾကာင့္ 30+ PHP Best Practices for Beginners ဆိုတဲ့ ထဲက ေနာက္ထပ္ ၁၀ ခ်က္ကို ဆက္ေရးပါမယ္။
11. Install MAMP/WAMP
PHP Application တစ္ခုေရးတဲ့ အခါ လိုအပ္တဲ့ environment ေတြျဖစ္တဲ့ Apache Web Server, PHP, MySQL ေတြကို package လုပ္ထားတဲ့
MAMP (Mac) or WAMP (Windows) ေတြကို ကြၽမ္းကြၽမ္း က်င္က်င္ အသုံးျပဳ တတ္သင့္ပါတယ္။ MAMP / WAMP က install လုပ္ျပီးတာနဲ႔
configuration လုပ္ေပးစရာမလိုပဲ သုံးႏိုင္တဲ့ အတြက္ တစ္ခုခ်င္း install လုပ္ျပီး သုံးတာထတ္ စာရင္ေတာ့ လြယ္ကူေစတာ အမွန္ပါပဲ။
ကြၽန္ေတာ္ကေတာ့ MySQL ကို SQLyog နဲ႔ သုံးရတာ ပိုၾကိဳက္ပါတယ္။ ဒါေပမယ့္ Mac အတြက္ မရလို႕ သုံးခ်င္တယ္ ဆိုရင္ wine ကေန install
လုပ္ျပီး configuration ေတြျပန္လုပ္ျပီး သုံးရတာ ျဖစ္လို႕ သိပ္မလြယ္ပါ။
12. Give your Scripts Limits
Program နဲ႔ errors / bugs ေတြဟာ ေခါင္းနဲ႔ပန္းလို ခြဲမရတဲ့ အရာပဲျဖစ္ပါတယ္။ ဒီေတာ့ ကြၽန္ေတာ္တို႔က real time မွာ ကိုယ့္ေရးထားတဲ့
codeကို safe ျဖစ္ေအာင္လုပ္ထားဖို႔ လိုပါတယ္။ အဲဒီအတြက္ PHP မွာ script တစ္ခုကို Time Limit ေပးျပီး run ႏိုင္ပါတယ္။ မ်ားေသာ
အားျဖင့္ကေတာ့ infinite loops ေတြ၊ database ေတြမွာ Time Limit ေပးထားခဲ့ မယ္ဆိုရင္ သတ္မွတ္ထားခ်ိန္ထိ respond မရရင္ fatal error
ျပေပးလိုက္ျခင္းအားျဖင့္ loading ပုံစံမ်ိဳးနဲ႔ ဟမ္းေနတာမ်ိဳး မျဖစ္ေစပါဘူး။ default max execution time ကေတာ့ 30 second ျဖစ္ျပီး
ကိုယ္ဟာကို Time Limit ေပးခ်င္တယ္ ဆိုရင္ ဒီမွာ ဖတ္ၾကည့္ႏိုင္ပါတယ္။
13. Use Objects (or OOP)
OOP က software engineering မွာ အသံုး၀င္တဲ့ Technique တစ္ခုျဖစ္တယ္ ဆိုတာ အားလံုးလဲသိပါတယ္။ OOP ကိုသာလိုက္နာမယ္
ဆိုရင္ program ထဲမွာ code repetition ျဖစ္တာေတြ၊ ေနာင္တစ္ခ်ိန္မွာ modify အလြယ္တကူ လုပ္ႏိုင္ဖို႔ reusable ျဖစ္တာေတြ၊ logical
sections ေတြအေနနဲ႔ ခြဲထုတ္ထားတာေတြ၊ စတဲ့စတဲ့ Feature ေတြေၾကာင့္ OOP က နာမည္ႀကီးပါတယ္။ ဒါေၾကာင့္ author ကေတာ့ OOP
ကိုသံုးသင့္တယ္လို႔ ဆိုပါတယ္။
- OOP in PHP
- OOP ရဲ႕ benefit ေတြကိုေတာ့ ဒီမွာ ဖတ္ႏိုင္ပါတယ္။
14. Knowledge of the difference between Single and Double Quotes
PHP ရဲ႕ string သံုးတဲ့အခါမွာ single (or) double quotes ေတြကိုသံုးတာ အားလံုး သတိထားမိမွာပါ။ အဲ့လိုေနရာေတြမွာ ျမန္ႏိုင္မယ္ဆိုရင္
single quote ေတြကိုသံုးဖို႔ author က suggest လုပ္သြားတာေတြ႕ရပါတယ္။ Usage of single Vs double quotes ေတာ့ ဒီမွာ
ဖတ္ႏိုင္ပါတယ္။
15. Don’t put phpinfo() in your webroot
ကြၽန္ေတာ္တို႔ Developing လုပ္ေနတုန္းမွာ phpinfo() ကို ႐ိုက္ထားတာေတြ ရွိေနရင္ Security Issue အရ Delete လုပ္ခဲ့ဖို႔ Author က
သတိေပးပါတယ္။
16. Never, Ever Trust Your Users
ကိုယ့္ Page ေတြက user input ေတြကို လက္ခံရတာမ်ိဳး ဆိုရင္ input data ေတြကို process မလုပ္ခင္ validation ေသခ်ာစစ္ေဆး
သင့္ပါတယ္။ ဒီေနရာမွာ XSS attack, SQL Injection attack စတာေတြကို ထည့္သြင္းျပီး ကိုယ့္ code ကို cover ျဖစ္ေအာင္လုပ္ထား
သင့္ပါတယ္။
17. Store Passwords with Encryption
Password ေတြကို database ထဲသိမ္းဆည္းတဲ့ အခါ encrypt လုပ္ျပီး သိမ္းဖို႔ လိုပါတယ္။ PHP မွာ ေတာ့ md5 ကို password encryption
အတြက္ သုံးပါတယ္။
18. Use Database Visualization Design Tools
Database Application ေတြေရးတဲဲ့ အခါ ကိုယ့္ application အတြက္ လိုအပ္တဲ့ database diagram ေတြ၊ table relationship ေတြ၊
index & foreign ခ်ိတ္ျခင္း စတာေတြ အားလုံးကို MySQL Workbench ကိုသုံးမယ္ ဆိုရင္လြယ္ ကူတာေတြ႕ ရပါတယ္။ ဒါေၾကာင့္ author က
Visualization Design Tools ေတြကို သုံးတတ္ဖို႔ အၾကံျပဳသြား ပါတယ္။
19. Use Output Buffering
Author က Output Buffering ကိုသုံးျခင္းအားျဖင့္ ကိုယ့္ script ရဲ႕ performance ကိုပိုေကာင္း ေစတယ္လို႕ ဆိုတာဗ်ာ။ ကြၽန္ေတာ္ကေတာ့ ဒီ
output buffer နဲ႔ပတ္သက္လို႕သိထားတာေလး တစ္ခု share ခ်င္ပါတယ္။ ဒီလိုမ်ိဳး session_start() ကိုေရးထားမယ္ဆိုရင္
<?php
echo "hello<br>";
session_start();
echo "world<br>";
?>
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
ဆိုတဲ့ warning message ကိုေတြ႔ ရမယ္ဗ်ာ။ ဒီလိုမ်ိဳး output buffer ကိုသုံးလိုက္မယ္ ဆိုရင္ေတာ့
<?php
ob_start();
echo "hello<br>";
session_start();
echo "world<br>";
ob_end_flush();
?>
အဲဒီ message ၾကီး မျမင္ရေတာ့ ပါဘူး။
20. SQL Injection
SQL Injection ဘယ္ေလာက္ ေၾကာက္စရာ ေကာင္းတယ္ ဆိုတာ ဒီမွာ ေရးခဲ့ဖူး ပါတယ္။ ဖတ္ၾကည့္ဖို႔ တိုက္တြန္း လိုက္ပါတယ္။ ဒါေၾကာင့္
SQL Injection ကိုကာကြယ္ဖို႔ mysql_real_escape_string ကိုသုံးဖို႔ လိုပါတယ္။
ေနာက္ထပ္ ၁၂ ခ်က္က်န္ပါေသးတယ္။ ခုေတာ့ Program ေလးေရးစရာ ရွိလို႕ ခဏနားပါဦးမည္။
Facebook Application and data privacy
ခုရက္ပိုင္း facebook ေပၚမွာ « LOST IN VAL SINESTRA » ဆိုတဲ့ application ကိုသုံးျပီးေတာ့ movie အတိုေလး တစ္ခုကို
ကိုယ္တိုင္ပါဝင္ ေနရသလိုမ်ိဳး ဖန္တီးလို႕ ရႏိုင္တာ ေတြ႕ရပါတယ္။ သူလုပ္ထားတဲ့ ဇတ္လမ္း ဇတ္ကြက္ အနိမ့္ အျမင္ ကပီျပင္ေန
တာေၾကာင့္ ေမ်ာပါမွန္း မသိေအာင္ကို တစ္ခဏတာ ေမ်ာပါသြားပါတယ္။ ဆင္ထားတဲ့ ဇတ္လမ္းက သည္းထိပ္ရင္ဖို အေၾကာင္းေလး
ျဖစ္တာေၾကာင့္လဲ ပါတာေပါ့ေလ။ ဇတ္လမ္း အေၾကာင္းအမ်ားၾကီးေတာ့ မေျပာျပခ်င္ဘူး။ စိတ္ဝင္စားရင္ ကိုယ္တိုင္ ဖန္တီးျပီး ၾကည့္ႏိုင္ပါတယ္။
ကြၽန္ေတာ္ ဒီ movie ေလးကိုၾကည့္ျပီးသြားေတာ့ စဥ္းစားမိတာက သူကိုယ့္ဆီက data ေတြဘယ္ေလာက္ရသြားလဲ ဆိုတာပဲ ျဖစ္ပါတယ္။
ကြၽန္ေတာ္တို႔ application ကိုဝင္တဲ့ အခါ "Request For Permission" ကိုေတာင္းတာ သတိထားမိပါလိမ့္မယ္။

Coding ကေနၾကည့္မယ္ ဆိုရင္ ေဟာ့ဒီလို Facebook API ကိုသုံးျပီး ကိုယ့္ data ေတြကို ကိုယ့္ Friend မဟုတ္ပဲ ရသြားႏိုင္ပါတယ္။
$url = $facebook->getLoginUrl(array(
'req_perms' => 'email,user_birthday,status_update,publish_stream,user_photos,user_videos'
));
လိုခ်င္တာကို comma ေလးေတြထည့္ျပီး Fields ဘယ္ေလာက္မ်ားမ်ား ယူလို႕ရတယ္ ဆိုတာ ဒီမွာ ၾကည့္ႏိုင္တယ္ဗ်ာ။
ဒါအျပင္ အဲဒီ application ကေနကိုယ့္ Wall ေပၚကိုလည္း ေရးခ်င္တယ္ဆိုရင္လည္း ဒီလိုေလး ေရးလိုက္တာနဲ႔ ရပါတယ္။
$facebook->api('/'.$uid.'/feed', 'post', array(
'message' => 'The message',
'name' => 'The name',
'description' => 'The description',
'caption' => 'The caption',
'picture' => 'your image url',
'link' => your url'
));
ကြၽန္ေတာ္ ဒီ POST မွာ users authentication အေၾကာင္း၊ Facebook connect အေၾကာင္းကို ေရးမွာ မဟုတ္လို႕coding ေတြအ ေၾကာင္း
အမ်ားၾကီး ဆက္မေရးေတာ့ပါဘူး။ ကြၽန္ေတာ္ အျမင္ကေတာ့ Facebook ေပၚမွာ application ေတြက အမ်ားၾကီး ရွိေနတာ ဆိုေတာ့
ကိုယ့္အတြက္ တကယ္လည္း အသုံးမတဲ့ ဟိုလိုလို ဒီလိုလို application ေတြကို ဝင္ေတာ့မယ္ ဆိုရင္ေတာ့ ကိုယ့္ privacy data အတြက္ အရင္
စဥ္းစား ေစခ်င္ပါတယ္။ ကြၽန္ေတာ္ ဆိုလိုတာက application ေတြကို ပုတ္ခက္ျပီး ေကာင္းတယ္ မေကာင္းဘူး ေျပာခ်င္တာ မဟုတ္ပဲ ကိုယ့္
privacy data ကိုခ်င့္ခ်ိန္ဖို႔ အၾကံျပဳျခင္း သက္သက္ ျဖစ္ပါတယ္။
30+ PHP Best Practices for Beginners (1)
Sunday, 25 July 2010 14:25
ကြၽန္ေတာ္ nettuts မွာ "30+ PHP Best Practices for Beginners" ဆိုတဲ့ article တစ္ခုကိုဖတ္လိုက္ ရတယ္။ ဒါေၾကာင့္ အားလုံး
လဲသိသြား ရေအာင္ ျပန္လည္ေဝမ်ွ လိုက္ပါတယ္။ ၾကိဳျပီး ေျပာထားခ်င္တာ တစ္ခုက author ေရးထားတဲ့ အတိုင္း ဘာသာျပန္ေရးရင္
ေထာက္ေနလို႕ ဖတ္လို႕ အဆင္ေျပေစရန္ အနည္းငယ္ ျပင္ျပီး ေရးလိုက္ပါတယ္။
1. Befriend the PHP Manual
PHP Developer သမားတိုင္း အတြက္ အေကာင္းဆုံး reference လုပ္ႏိုင္တဲ့ php.net က officially လုပ္ေပးထားတဲ့ manual ပဲျဖစ္
ပါတယ္။ PHP မွာ သုံးေနတဲ့ function တိုင္းရဲ႕ manual usage ကို အဲဒီမွာ ဖတ္ႏိုင္ပါတယ္။ ဒီ manual ကိုဖတ္မယ္ ဆိုရင္ေတာ့ ေအာက္
ကေပးထားတဲ့ comment ေတြကိုလည္း ေသခ်ာ ဖတ္ၾကည့္သင့္ပါတယ္။ တစ္ခါတစ္ရံမွာ ကိုယ္ၾကဳံေနရတဲ့ ျပသနာက တျခားသူ တစ္ေယာက္
ၾကဳံျပီးသား ဆိုရင္ေအာက္က comment ေတြမွာရွိႏိုင္တယ္။ အနီးစပ္ဆုံးကေတာ့ PHP 5.3 Deprecated ျဖစ္တဲ့ functions ေတြမွာ ရွိေနတဲ့
ေအာက္က comment ေတြက အဖိုးတန္တယ္။ Download လုပ္ျပီး ဖတ္ခ်င္ရင္ေတာ့ http://php.net/download-docs.php
2. Turn on Error Reporting
ကြၽန္ေတာ္တို႔ coding ေရးေနတဲ့ development time မွာ Error Reporting ေတြကို On ျပီးေရးသင့္တယ္လို႕ သူကဆိုပါတယ္။ ဟုတ္ပါတယ္
ဒါမွ ကိုယ္ေရးတဲ့ program ထဲမွာ ရွိေနတဲ့ errors ေတြ၊ bugs ေတြ၊ warning ေတြကို deployment မလုပ္ခင္ရွင္း သင့္ပါတယ္။ PHP ရဲ႕
error reporting မွာ ERROR ကိုျပမွာလား? WARNING ကိုျပမွာလား? NOTICE ကိုျပမွာလား? ဆိုျပီး အဆင့္ေတြရွိေပမယ့္
error_reporting(E_ALL); ON ဆိုရင္ေတာ့ ရွိသမ်ွ PHP Errors ေတြအားလုံးကို ျမင္ရမွာ ျဖစ္ပါတယ္။ Error Reporting Manual ကို
ဒီ link မွာ ဖတ္ၾကည့္ႏိုင္ပါတယ္။ ဒီ Error Reporting ေတြကို php.ini ထဲမွာလည္း config လုပ္ႏိုင္တယ္ဗ်။ ကြၽန္ေတာ္ကေတာ့ php.ini
ထဲမွာပဲ လုပ္ေလ့ရွိပါတယ္။ အေရးၾကီးတာက production မွာ live သြားေတာ့မယ္ ဆိုရင္ေတာ့ ဒီ Error Reporting ေတြကို OFF ျပန္လုပ္
ေပးဖို႔ ေတာ့လိုပါတယ္။
3. Try an IDE
Author က IDE တစ္ခုခုနဲ႔ ေရးသင့္တယ္လို႕ ေျပာေသာ္လည္း စစခ်င္းမွာ IDE သုံးျပီးေရးမယ္ဆိုရင္ function name မွတ္စရာ မလိုေတာ့ပဲ
အပ်င္းၾကီးသြားႏိုင္ တယ္လို႕ ကြၽန္ေတာ္ ျမင္ပါတယ္။ IDE ေတြကေတာ့ syntax highlighting, code completion, error warnings,
re-factoring (reworking) features ေတြရလို႕ coding ေရးရတာ ပိုျပီးလြယ္ကူ ျမန္ဆန္ပါတယ္။ နာမည္ၾကီး IDE ေတြရဲ႕ Feature ေတြကို
ဒီ link မွာ ဆက္ဖတ္ႏိုင္ပါတယ္။ ကြၽန္ေတာ္ အၾကံျပဳခ်င္တာ ကေတာ့ Advanced Text Editor ေတြကိုလည္း သုံးၾကည့္သင့္ပါတယ္။
4. Try a PHP Framework
PHP Framework ေတြကိုသုံးမယ္ ဆိုရင္ေတာ့ ျမန္ျမန္ဆန္ဆန္နဲ႔ application တစ္ခုကို လုပ္ႏိုင္ပါတယ္။ နာမည္ၾကီး PHP Framework
ေတြကေတာ့ Codeigniter, CakePHP, Symfony, Zend ျဖစ္ျပီး ကိုယ္နဲ႔သင့္ေတာ္မယ္ ထင္တာကို ေရြးခ်ယ္သုံးႏိုင္ပါတယ္။ ဒီ link မွာ
ၾကည့္မယ္ ဆိုရင္ေတာ့ PHP Framework ေတြရဲ႕ List ေတြကို ျမင္ရပါမယ္။ Beginner ေတြအေနနဲ႔ ကေတာ့ Framework ေပၚမွာ မေရး
သင့္ေသးဘူးလို႕ ထင္ပါတယ္။ Framework ေတြကိုစျပီး လုပ္ခ်င္သူေတြကို ကြၽန္ေတာ္ အၾကံျပဳခ်င္တာကေတာ့ Codeigniter ဟာစရတာ
လြယ္ပါလိမ့္မယ္။
5. Learn the DRY Approach
DRY ဆိုတာကေတာ့ Don’t Repeat Yourself ပဲျဖစ္ပါတယ္။ ကြၽန္ေတာ္လည္း ဒီအေခၚအေဝၚကို ဒီ article ကိုဖတ္လိုက္ေတာ့မွ သိသြား
တာျဖစ္ပါတယ္။ PHP မွ မဟုတ္ပဲ တျခားဘယ္ Programming Languages မွာ မဆို code ေတြဟာ DRY Approach ျဖစ္ဖို႔၊ redundant
code ေတြမျဖစ္ဖို႔ကို ေရွာင္ၾကဥ္ေသာက္သင့္ပါတယ္။ DRY Approach ကိုေတာ့ ဒီမွာ ဆက္ဖတ္ၾကည့္ႏိုင္ပါတယ္။
http://en.wikipedia.org/wiki/Don't_repeat_yourself
http://www.artima.com/intv/dry.html
6. Indent Code and Use White Space for Readability
ဟုတ္ပါတယ္ coding ေရးတဲ့အခါ ညီညာတဲ့ Indent ေတြ၊ White Space ေတြနဲ႔ဆိုရင္ေတာ့ ေနာက္ပိုင္း ျပန္ျပီး maintain လုပ္ရတာလဲ
အဆင္ေျပရပါတယ္။တကယ္လို႕ IDE ေတြသုံးမယ္ ဆိုရင္ေတာ့ alignment ေတြ auto adjust လုပ္ေပးတဲ့ အတြက္ ေရးရတာ ပိုေကာင္း
ပါတယ္။ Author ကေတာ့ Indent Code and Use White Space မရွိတဲ့ Coding ေတြကို Jackson Pollock painting နဲ႔ ခိုင္းႏႈိင္းကာ
ေျပာသြားပါတယ္။ Jackson Pollock paintingဆိုတာကို ဗဟုသုတ အေနနဲ႔ ၾကည့္လို႕ရေအာင္ ေအာက္မွာ ထည့္ေပးထားပါတယ္။



7. “Tier” your Code
Coding ထဲမွာ HTML ဆိုရင္ HTML သက္သက္၊ JS ဆိုရင္ JS သက္သက္၊ PHP Code ဆိုရင္ PHP Code သက္သက္ Tier ေတြခြဲထား
သင့္ပါတယ္။ Tier ေတြဘယ္လို႕ခြဲထုတ္လဲ ဆိုတာကို ဒီမွာ ဖတ္ၾကည့္ႏိုင္ပါတယ္။ ကြၽန္ေတာ္လည္း အဲဒီ article ကိုျပန္ေရးဖို႔ အစီအစဥ္
ရွိပါတယ္။
8. Always Use <?php ?>
PHP မွာ <? echo "Hello world"; ?>
<?="Hello world"; ?>
စသည္ျဖင့္ ႐ိုက္ႏိုင္ေပမယ့္ author ကေတာ့ အျမဲတမ္း <?php ?> ထည့္ေပး သင့္တယ္လို႕ ဆိုပါတယ္။ ကြၽန္ေတာ္ အေတြ႔အၾကဳံအရ
short tag ေတြကို on ထားမွ အေပၚမွာျပထားတဲ့ code ေတြက အလုပ္လုပ္မွာ ျဖစ္ပါတယ္။ ဒီမွာေတာ့ short open tag အေၾကာင္းေရး
ထားတာ ရွိပါတယ္။ <?php ?> လို႕ေရးရင္ေတာ့ open tag ဘာပဲျဖစ္ေနျဖစ္ေန အလုပ္လုပ္မွာ ျဖစ္တာေၾကာင့္ author က standard
အေနနဲ႔ ေျပာတာ ျဖစ္ပါလိမ့္မယ္။
9. Use Meaningful, Consistent Naming Conventions
Variable name, Class Name, function name, object name ေတြကို အမည္ေပးတဲ့ အခါ အဓိပၸါယ္ရွိေသာ name ေတြကိုသာ ေပးသင့္
ပါတယ္။ ဒါမွကိုယ့္ code ကိုကိုယ္ပဲ ျပန္ဖတ္ဖတ္ သူမ်ားပဲလာဖတ္ဖတ္ အလြယ္တကူ နားလည္ႏိုင္မွာ ျဖစ္ပါတယ္။
10. Comment, Comment, Comment
ကိုယ့္ code ကိုေနာက္တခ်ိန္ ကိုယ့္ဟာကိုယ္ပဲ ျပန္ဖတ္ဖတ္၊ သူမ်ားက ဆက္ျပီး maintain လုပ္ဖို႔ ဖတ္ဖတ္ indent ေတြ၊ white space ေတြ
အျပင္အေရးၾကီးတဲ့ ေနရာေတြမွာ comment ေတြရွိေနမယ္ဆိုရင္ အရမ္းကိုေကာင္ပါတယ္။ ဒါေၾကာင့္ စနစ္တက် comment ေပးတတ္တဲ့
အက်င့္ေလးကို လုပ္သင့္ပါတယ္။ ဘယ္ programming languages မွာမဆို စနစ္တက် သန္႔သန္႔ ရွင္းရွင္း ေရးတတ္တာ အလြန္ေကာင္းမြန္တဲ့
အက်င့္ပဲ ျဖစ္ပါတယ္။ကြၽန္ေတာ္လည္း ပ်င္းလာရင္ ျဖစ္ေစ၊ dead line အရမ္နီးလာရင္ ျဖစ္ေစ code ေတြကို dirty ျဖစ္ေအာင္ေရးတက္တဲ့
အက်င့္ကို ျပင္ဖို႔ ဒီ article ကိုေရးရင္ သတိဝင္လာပါတယ္။ စုစုေပါင္း ၃၂ ခ်က္ရွိေပမယ့္ ဒီ post မွာေတာ့ ဒီေလာက္နဲ႔ပဲ ခဏရပ္ခ်င္ပါတယ္။
CURL in PHP
Monday, 26 April 2010 09:47
ကြ်န္ေတာ္တို႕ PHP နဲ႕ Web service ကိုေလ့လာမယ္ဆိုရင္ေတာ့ CURL ကိုအရင္ သိထားရပါမယ္။ CURL ဆိုတာကေတာ့ Client URL
Request Library ဆိုတာကို အတုိ ေကာက္ ေခၚတာျဖစ္ပါတယ္။ တစ္ခါတစ္ရံမွာ Curl URL Request Library လို႕လဲေခၚပါ တယ္။ CURL
ဟာ powerful ျဖစ္တဲ့ Library တစ္ခုျဖစ္ပါတယ္။ ဘာေၾကာင့္ powerful ျဖစ္လဲဆိုရင္ေတာ့ http, https, ftp, LDAP protocols
စတာေတြကို support လုပ္တဲ့အျပင္ HTTPS Certificates, HTTP POST, HTTP PUT, proxies, cookies, username & password
authentication စတာေတြကိုပါ support လုပ္ပါတယ္။ ကြ်န္ေတာ္လည္း Web service မွာအသံုးမ်ားတဲ့ HTTP POST, HTTP GET
စတာေတြ ေလာက္ပဲစမ္းၾကည့္ဖူးပါ တယ္။ ဒီ CURL PHP Extension က php install လုပ္တုန္းကပါမလာရင္ install လုပ္ေပး
ဖို႕လိုပါတယ္။ ဒီမွာကေတာ့ set up လုပ္ ဖို႕ URL ျဖစ္ပါတယ္။ CURL ကိုသံုးမယ္ဆိုရင္ ဒီ 4 ခုကိုသိထားရပါမယ္။
- Initialize CURL
- Set options
- Execute CURL
- Close CURL
step တစ္ခုခ်င္းစီကိုအက်ယ္ေျပာမယ္ဆိုရင္ေတာ့
1. Initialize CURL
CURL ကိုမသံုးခင္မွာ Initialize အရင္လုပ္ဖို႕လိုပါတယ္။ $ch = curl_init (); ဟုတ္ျပီဗ်ာ။ ဒါဆိုရင္ေတာ့ $ch ဆိုတဲ့ CURL variable
တစ္ခုရျပီဗ်ာ။
2. Set Options
ဒီအဆင့္ကေတာ့ ဘယ္ method နဲ႕ access လုပ္မယ္ဆိုတာကို option value ထည့္ ေပးရတဲ့အဆင့္ပဲျဖစ္ပါတယ္။ နားလည္
ေအာင္ေျပာမယ္ဆိုေတာ့ POST Method လား GET Method လားဆိုတာကို option ထည့္ေပးရမွာျဖစ္ပါတယ္။
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_GET, true);
အဲဒီမွာဒုတိယ line ျဖစ္တဲ့ curl_setopt($ch, CURLOPT_GET, true);
ကသာ mehtod ကို pass လုပ္လိုက္တာ ျဖစ္ပါတယ္။ ပထမ line ျဖစ္တဲ့ curl_setopt($ch, CURLOPT_URL, $url);
ကိုေတာ့ Web service example ေရးရင္သိ သြားပါလိမ့္မယ္။ အခုေတာ့ ခဏထားလိုက္ပါအံုးမယ္။
3. Execute
CURL ကို execute လုပ္ေပးဖို႕လိုပါတယ္။ ဒါမွ Web service က Respond ျပန္ေပး လိုက္တဲ့ value ေတြကိုရမွာျဖစ္ပါတယ္။ ဒီလို
execute လုပ္ပါ တယ္။ curl_exec($ch);
4. Close
ေနာက္ဆံုးမွာ Curl connection ကိုျပန္ျပီး close လုပ္ေပးခဲ့ဖို႕လိုပါတယ္။ url_close($ch);
ဒါကေတာ့ CURL ရဲ႕ intro ေလးပဲျဖစ္ပါတယ္။ ေနာက္ POST မွာေတာ့ဒီ CURL ကိုသံုးျပီး Web service values
ေတြကို ဘယ္လို ဖတ္တယ္ဆိုတာဆက္ေရးပါမယ္။
Page 2 of 12
«StartPrev12345678910NextEnd»Login Form
Latest Post
Categories Table View
- Reader's Conner (133)
- PHP (48)
- Joomla CMS (46)
- Codeigniter (18)
- jQuery (12)
- iDhamma (11)
- Mobile Development (10)
- PHP & AJAX (4)
- Apache (3)
- For Mac (3)
- mySQL (2)
- DhammaDroid (1)
