မဂၤလာပါ။ကၽြန္ေတာ္ကေတာ့ ေမာင္ရဲထက္ေအာင္ ျဖစ္ပါတယ္။
Spiceworks Myanmar company မွာ web developer အျဖစ္ဝင္ေရာက္လုပ္ကိုင္ေနပါတယ္။
ဒီတစ္ပတ္မွာေတာ့ Zend Framework အေၾကာင္းကို စတင္ေလ့လာသူေတြ ေလ့လာရလြယ္ကူေအာင္ ကၽြန္ေတာ္သိသေလာက္ sharing လုပ္ေပးခ်င္ပါတယ္။ပထမဆံုးအေနနဲ႕ Zend Framework က ဘာလဲဆိုတာ အရင္ရွင္းျပပါအံုးမယ္။
Zend Framework ဆိုတာ (Object Oriented Programing) Object ေတြကို အေၿခခံျပီး Web Application ေတြတည္ေဆာက္ဖို႔ရန္အတြက္ MVC ပံုစံနဲ႕ဖန္တီးထားတဲ့ Open Source Framework တစ္ခုျဖစ္ပါတယ္။
Zend Framework ကို PHP 5.1.4 နွင့္အထက္ေထာက္ပံ့ေပးထားပါတယ္။
Zend Framework ကို စမ္းသပ္အသံုးျပဳရန္Zend v:1.12 ကို ဤ ေနရာတြင္ ႏိွပ္၍ ေဒါင္းလုပ္ဆြဲႏိုင္ပါတယ္။
ကၽြန္ေတာ္ကေတာ့ Zend Framework Structure ကိုအဓိကထားရွင္းျပမွာပါ။
Zend Framework Structure
Application/
configs/
application.ini
routes.ini
controller/
ErrorController.php
IndexController.php
layout/
models/
views/
index/
index.phtml
error/
error.phtml
bootstrap.php
Data/
cache/
library/
zend
public/
css/
js/
images/
.htacess
index.php
Application /
ကိုယ့္္္ App ရဲ႕ Source Code အမ်ားစုဟာ ဒီ Directory ထဲမွာ ေရးသားရမွာျဖစ္ပါတယ္။
App အတြင္းမွာ Config, Model,View,Controller,Layout,Bootstrap ဖိုင္ေတြပါဝင္ပါတယ္။
Application/configs
Database နဲ႕ Route လမ္းေၾကာင္းသတ္မွတ္ေပးတဲ႕ ဖိုင္ေတြကို ဒီ Directory ထဲမွာစုစည္းေပးထားပါတယ္။
Application/configs/application.ini
အသုံးျပဳလိုတဲ႕ Database အမ်ိဳးအစား၊ Database အမည္၊ Username,Password စတဲ့ Setting ေတြကို ဒီဖိုင္ထဲမွာသတ္မွတ္ထားျခင္းျဖစ္ပါတယ္။ လိုအပ္သလိုျပင္ဆင္သတ္မွတ္ေပးနိုင္ပါတယ္။
Application/configs/routes.ini
URI လမ္းေၾကာင္းေတြ စီမံတဲ့လုပ္ငန္းကို ဒီဖိုင္မွာသတ္မွတ္ရမွာျဖစ္ပါတယ္။ Controller နဲ႕တြဲဖက္အလုပ္လုပ္မွာျဖစ္ပါတယ္။ ဘယ္ URI ကိုလက္ခံရရိွရင္ ဘယ္ Controller နဲ႕ Action ကိုအလုပ္လုပ္ေပးရမလဲဆိုတဲ့လမ္းေၾကာင္းေတြကို သတ္မွတ္ေပးရမွာျဖစ္ပါတယ္။
Application/Controller
Controller ရဲ႕တာဝန္ဟာ Request/Responses ေတြ စီမံဖို႕ဘဲျဖစ္ပါတယ္။
Controller Code ေတြကိုဒီီ folder ထဲမွာစုစည္းေရးသားရမွာျဖစ္ပါတယ္။
Application/Layouts
Layouts ရဲ့ တာ၀န္ကေတာ့ common files, dialog box ေတြခ်ိတ္ဆက္ဖို႔နဲ႔ Page header နဲ႕ footer ေတြသတ္မွတ္ေပးဖို႔ ၿဖစ္ပါတယ္။common files ဆိုတာက js files , css files ေတြကိုေျပာတာပါ။
Application/Model
Controller က ေပးလာတဲ့ Data ေတြကို input အေနနဲ႕ လက္ခံျပီး output အေနနဲ႔ Database ထဲကေန Data ျပန္ထုတ္ေပးတဲ့ အလုပ္ကို Model က လုပ္ေဆာင္ေပးရပါတယ္။
Application/views
View Template ေတြေရးသားတဲဲ႕ View code ေတြကိုဒီ folderထဲမွာ ေရးသားေပးရပါမယ္။
မွတ္ထားရမွာတစ္ခုရိွေသးတယ္ဗ်။ ဥပမာ- View ထဲမွာ index.phtml လို႔ ဖိုင္ တစ္္ခု တည္ေဆာက္လိုက္ရင္ controller မွာ indexAction() တစ္ခု တည္ေဆာက္ေပးရပါတယ္။ဆိုလိုတာကဗ်ာ View တစ္ခု ေဆာက္ရင္ Action တစ္ခု ေဆာက္ရမယ္လို႕ေျပာတာပါ။
bootstrap.php
application ေတြအတြက္ လိုအပ္တဲ့ components ေတြကို အသံုးျပဳရန္ bootstrap မွာ အရင္ေၾကညာ ေပးရပါတယ္။
Data/
application data နွင့္ temporary files ေတြကို သိုေလွာင္ထားဖို႕ရန္အတြက္ ဒီ Directory ကို အသံုးျပဳရပါမယ္။
library/
library ဆိုတဲ့အတိုင္း သူ႔ထဲမွာ Framework နဲ႔ ပက္သက္တဲ့ဖိုင္ေတြ အကုန္ပါ၀င္ပါတယ္။library မွာ zend ဆိုတဲ့ folder ပါ၀င္ပါတယ္။
အဲ့ဒီ folder ထဲမွာပါ၀င္တ့ဲ files ေတြကိုျပင္လို႕ လည္းမရသလို ဖ်က္လို႔လည္းမရပါဘူး။ library/zend က framework ရဲ့အသက္လို႕ေျပာရင္လည္းမမွားပါဘူး။ အျခား library ဖိုင္ေတြကို install လုပ္ျပီး ထည့္သြင္းအသံုးျပဳနိုင္ပါတယ္။
Public/
CSS ဖိုင္ေတြ၊ JavaScript ဖိုင္ေတြ၊ Fontေတြနဲ႕ image ေတြကို ဒီ Directory ထဲမွာစုစည္းသတ္မွတ္ထားရပါတယ္။
ကၽြန္ေတာ္သိသေလာက္ ေနာက္ထပ္လည္း ေလ့လာျဖစ္တာေလးေတြ Sharing လုပ္ေပးသြားပါ့မယ္ ခင္္ဗ်။
Zend Framework coding (part-2)ကိုလည္း ဖတ္ရႈေပးပါဦးလို႕ တိုက္တြန္းပါရေစဗ်ာ။
ဖတ္ရႈေပးတဲ့အတြက္လည္း အားလံုးကို ေက်းဇူးတင္ပါတယ္ ခင္ဗ်ာ။
