30+ PHP Best Practices for Beginners (2)
Written by Zack
ပထမ ၁၀ ခ်က္ကို ဒီမွာ ဖတ္ႏိုင္ပါတယ္။ အရွည္ၾကီးေရးလိုက္ရင္ ဖတ္ရတာ ပ်င္းသြားျပီး ေခါင္းထဲမဝင္မွာ စိုးတာရယ္၊ အခ်ိန္သိပ္
မရတာရယ္ေၾကာင့္ 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 ေလးေရးစရာ ရွိလို႕ ခဏနားပါဦးမည္။
-
2010-09-27 11:53:12 |SAdministrator| admin - Re: Abon
Hi Abon,
Thanks you for reading my article.
You may watch from Youtube because it is better than my writing.
I hope these 2 links will be helped you.
http://www.youtube.com/watch?v=wlFo66ws47w
http://www.youtube.com/watch?v=He3AFcGjUmwKeep Hope Alive!
| < Prev | Next > |
|---|
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)
အစ္ကို MAMP / WAMP အလုပ္လုပ္ပံု ။ ဘယ္လို install လုပ္ရမယ္ ။ အားသာခ်က္ေတြရယ္ကို ရွင္းျပေပးပါအံုး။ အစ္ကို႕ ဆိုက္ က အ၇မး္ပညာရတာပဲ။ အဘြန္ေတာ့ ဒီေန႕မျပီးရင္ ေနာက္ေန႕လို လာဖတ္တယ္။ ဒါေတာင္ မကုန္ေသးဘူး ။ အခ်ိန္လုျပီး ဖတ္ရတာဆို ေတာ့ ။ ဟိုဟာလဲ ဖတ္ခ်င္ ဒီဟာလဲ မွတ္ခ်င္နဲ႕။