CodeIgniter and MVC for Beginners
Tuesday, 01 June 2010 11:51
ကြၽန္ေတာ္ အားတဲ့ အခ်ိန္ေလးေတြမွာ CodeIgniter(CI) သုံးျပီး ကိုယ္ပိုင္ application ေလးတစ္ခု ေရးေနတာ ရွိပါတယ္။ ဒါေၾကာင့္ လုပ္ရင္း
ကိုင္ရင္း ရလာတဲ့ experience ေလးေတြကို share လုပ္သြားခ်င္ပါတယ္။ ကြၽန္ေတာ္ကို CI နဲ႔ပတ္သက္ျပီး chat ထဲမွာ လာလာေမးသူေတြကို
လည္းေျဖျပီးသား ျဖစ္သြားပါမယ္။ ကြၽန္ေတာ္ကိုယ္တိုင္လည္း CI note တစ္ခု ေကာင္းေကာင္းရသြားတာေပါ့။ ဘာမွ မစခင္ အရင္ဆုံး ဝန္ခံထား
ခ်င္တာက ကြၽန္ေတာ္ CI ကို မကြ်မ္းက်င္ပါ။ အေပၚယံေလာက္ သိေနတာကို မေၾကနပ္လို႕ အခု ကိုယ္ပိုင္ project ေလးတစ္ခု လုပ္ျပီး ပိုေလ့လာ
ခ်င္လို႕ပါ။ အရင္ဆုံး CI ကိုမသြားခင္မွာ (Model View Controller,MVC) ရဲ႕ အလုပ္လုပ္ပုံကို ၾကည့္ရေအာင္။ ကြၽန္ေတာ္တို႔ MVC မသုံးပဲ code
ေရးတဲ့ အခါ php, html, js ေတြအျပင္ css ေတြပါေရာညွပ္ေနတာကို ေတြ႔ရပါတယ္။ application တစ္ခုဆိုတာ develop လုပ္ျပီး ျပစ္ထားလို႕
ရတာမ်ိဳး မလုပ္ေလေတာ့ customer requirement ေတြအရ ျပဴျပင္ေျပာင္းလဲမႈေတြကို လုပ္ေဆာင္ေပးရပါတယ္။ အဲဒီလို လုပ္ေပးရတဲ့ အခါ UI
ပဲေျပာင္းတာ ျဖစ္ခ်င္ ျဖစ္မယ္၊ business logic ကိုေျပာင္းေပးရတာမ်ိဳး ျဖစ္ခ်င္ျဖစ္မယ္၊ ဒါကေတာ့ requirement အတိုင္းေပါ့။ မေကာင္းတာက
UI ေျပာင္းရင္ code ကိုထိ၊ code ကိုေျပာင္းရင္ UI ကိုျပန္ထိနဲ႔ ေျပာမယ္ဆိုရင္ ဂ်ာေအး သူအေမ႐ိုက္ ျဖစ္ေနတယ္။ ဒီေတာ့ MVC ကိုစဥ္းစားလာ
ၾကတယ္။ MVC ကိုသုံးခ်င္အားျဖင့္ development time မွာလည္း ပိုျမန္လာျပီး ေနာက္ပိုင္း maintenance လုပ္ရတာလည္း လြယ္လာပါတယ္။
ကြၽန္ေတာ္တို႔ အခု အေရးတယူလုပ္ေျပာေနတဲ့ MVC က late 1970s and early 1980s ကြၽန္ေတာ္ မေမြးခင္ထဲက ကေပၚေနတယ္ဆိုပဲ။
ဒီေတာ့ ကြၽန္ေတာ္က PHP သမားဆိုေတာ့ MVC framework တစ္ခုခုကိုေရြးရပါေတာ့မယ္။ ေျပာမယ္ဆိုရင္ အားလုံးကို ၾကိဳက္တယ္။ CI
ကိုလြယ္လို႕ အရင္စမ္းတဲ့ သေဘာပါပဲ။ အခ်ိန္ရရင္ နာမည္ၾကီး framework ေတြကို အကုန္စမ္းမယ္။ ဒီမွာ PHP based framework ေတြကို
ၾကည့္ႏိုင္ပါတယ္။
Okay What ’ s Model - View - Controller? ဆိုတာၾကည့္ လိုက္ရေအာင္
Models - Models maintain data.( database နဲ႔ access လုပ္ရတဲ့ အပိုင္းေတြကို ေရးေလ့ရွိတယ္။ ကိုယ္ project ရဲ႕ business logic
ေတြအားလုံးက model ထဲမွာပဲ ရွိတယ္။ )
Views - Views display data and user interface elements. ( user အျမင္ user interface အားလုံးက views ထဲမွာ ရွိတယ္။ )
Controllers - Controllers handle user events that affect models and views. ( user ရဲ႕ event ေတြကို ၾကည့္ျပီး model ေတြ၊
view ေတြကိုေခၚေပးတာ controller ျဖစ္တယ္။ )
အ႐ိုးရွင္း ဆုံးျမင္ေအာင္ၾကည့္မယ္ ဆိုရင္
User Input and Traffic Control = Controller
Processing = Model
Output = View
MVC အေျခခံ သေဘာေလးျပီးတဲ့ေနာက္ CI ကိုဆက္လိုက္ၾကရေအာင္။
How to set up CI at local?
အရင္ဆုံး ဒီမွာ download လုပ္လိုက္ပါ။ ျပီးရင္ unzip လုပ္ျပီး ကိုယ့္ရဲ႔ web server ေအာက္က www folder ေအာက္ကို ထည့္လိုက္ပါ။
folder name ကိုေတာ့ blog လို႕ပဲေပး လိုက္ၾကရေအာင္
ဒီဟာကေတာ့ folder structure ပုံပါ။ တကယ္ အလုပ္လုပ္ရမွာ က အနီဝိုင္းထားတဲ့ application folder ေအာက္က controllers, models,
views ေတြပဲ ျဖစ္ပါတယ္။ အရင္ဆုံး system\application\config ေအာက္က config.php မွာ ကိုယ္ application ကို run ဖို႔ set up လုပ္
ေပးရမယ္။
$config['base_url'] = "http://localhost/blog/";
ေလာေလာဆယ္ config.php တခုကိုပဲ ျပင္ပါမယ္။ database နဲ႔ ခ်ိတ္ေတာ့မွ database.php ကို configuration ဆက္ျပင္ပါမယ္။
Okay ဒီ set up ျပီးရင္ http://localhost/blog/ ကို run လိုက္လို႔ ဒီလို welcome message ျမင္ရရင္ CI အလုပ္လုပ္ပါျပီ။

ကိုယ္ဟာကို simple code ေလးေရးၾကည့္ရေအာင္လားဗ်ာ။ ဒီ code ေလးကို copy လုပ္ျပီး system/application/controllers/
ေအာက္မွာ myblog.php ဆိုျပီး သိမ္းလိုက္ပါ။ <?php
class myblog extends Controller {
function index()
{
$tutorial['my_tutorial'] = array('Download CodeIgniter', 'Install in Local Machine', 'Understand MVC', 'Create your First Application');
$tutorial['title'] = "CodeIgniter Tutorial";
$tutorial['heading'] = "You Will Know";
$this->load->view('myblogpage', $tutorial);
}
}
?>
ဒါေလးကို system\application\views ေအာက္မွာ myblogpage.php ဆိုျပီး သိမ္းပါ။
<html><head>
<title><?php echo $title;?></title>
</head>
<body>
<h2><?php echo $heading;?></h2>
<p><strong>My Todo List</strong></p>
<ul>
<?php foreach($my_tutorial as $item):?>
<li><?php echo $item;?></li>
<?php endforeach;?>
</ul>
</body>
</html>
ျပီးရင္ေတာ့ http://localhost/blog/index.php/myblog ဆိုျပီး run လိုက္ရင္ ဒါမ်ိဳးေပၚလာျပီ ဆိုရင္ေတာ့ ဒီ example အလုပ္လုပ္ပါျပီ။
နားပါဦးမည္။
ဆက္ဖတ္သင့္ေသာ Articles
- Structure and Configuration of CodeIgniter
- CodeIgniter Database Library
- CodeIgniter Form Helper
-
MVC (SaturnGod)
-
2010-06-02 22:51:13 |SAdministrator| admin - Re: Thiha
ဟုတ္ကဲ့ ကိုသီဟေရ ညြန္းပါ။ ကြၽန္ေတာ္လည္း ဆက္ေရးပါ အံုးမယ္။
-
2010-06-04 04:07:48 |203.81.72.xxx| thet paing soe - ဆက္ေရးပါ႔ဗ်ိဳ႔
ကၽြန္ေတာ္ က CodeIgniter ကို စၾကည့္ မလုိ႔။ အေတာ္ပဲ။
-
2010-06-05 14:08:07 |SAdministrator| admin - Re: thet paing soe
ဟုတ္ကဲ့ ကြၽန္ေတာ္ ဆက္ေရးသြားမွာပါ။ ဒီမွာ 2nd post ပါ။ ဖတ္ၾကည့္ပါအံုး။
| < Prev |
|---|
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)
ကၽြန္ေတာ္ ဒီပို႔စ္ကိုလည္း ညႊန္းခ်င္ပါတယ္