[X] Choose Font Here

CodeIgniter and MVC for Beginners

ကြၽန္ေတာ္ အားတဲ့ အခ်ိန္ေလးေတြမွာ 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 ကြၽန္ေတာ္ မေမြးခင္ထဲက ကေပၚေနတယ္ဆိုပဲ။

http://en.wikipedia.org/wiki/Model–view–controller

ဒီေတာ့ ကြၽန္ေတာ္က 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

Comments (5)
  • Thiha  - ကၽြန္ေတာ္ညႊန္းမယ္ဗ်ဳိ႕

    ကၽြန္ေတာ္ ဒီပို႔စ္ကိုလည္း ညႊန္းခ်င္ပါတယ္ :D

  • admin  - Re: Thiha

    ဟုတ္ကဲ့ ကိုသီဟေရ ညြန္းပါ။ ကြၽန္ေတာ္လည္း ဆက္ေရးပါ အံုးမယ္။ :D

  • thet paing soe  - ဆက္ေရးပါ႔ဗ်ိဳ႔

    ကၽြန္ေတာ္ က CodeIgniter ကို စၾကည့္ မလုိ႔။ အေတာ္ပဲ။

  • admin  - Re: thet paing soe

    ဟုတ္ကဲ့ ကြၽန္ေတာ္ ဆက္ေရးသြားမွာပါ။ ဒီမွာ 2nd post ပါ။ ဖတ္ၾကည့္ပါအံုး။

  • Pyae Phyo Maung Maung  - Best Post

    သူငယ္ခ်င္းေရ ..
    Post က ေကာင္းလြန္းလို႔ ေနာင္တစ္ၾကိမ္ ထက္လာျပီး Comment ေပးသြားပါတယ္ ။

    Nice Research !!!!

Write comment
Your Contact Details:
Comment:
[b] [i] [u] [url] [quote] [code] [img]   
:D:angry::angry-red::evil::idea::love::x:no-comments::ooo::pirate::?::(
:sleep::););)):0
Security
Please input the anti-spam code that you can read in the image.

Login Form

Categories Table View

JoomlaWatch Stats 1.2.9 by Matej Koval

Facebook Share

Share on facebook

Accordion FAQ

mod_joomtouch

Version Iphone

Version Iphone by JoomTouch