
確ãã«ãå€ãã®Webããã°ã©ããŒã
CodeIgniterã®ãããªçŽ æŽããããã¬ãŒã ã¯ãŒã¯ãç ç©¶ãã䜿çšããããšãããããŸãã 圌ãæãäœããšã³ããªãŒéŸå€ãæã£ãŠããã®ã§ãç§ã®éžæã¯åœŒã«èœã¡ãŸããã圌ã¯åŠã¶ã®ãæãç°¡åã§ãè¯ãããã¥ã¡ã³ããŒã·ã§ã³ãéããªã©ã§ã ãªã© åçŽãªãããžã§ã¯ãã®å Žåãã»ãšãã©ã®ããããã¯ãéçºè
ãšããŠæ£ç¢ºã«æã詊ãããšã§ãã ãã¡ãããããæ·±å»ãªãããžã§ã¯ãã§ã¯ãããæ©èœçã§æŽç·Žããããã¬ãŒã ã¯ãŒã¯ã䜿çšããæ¹ãè¯ãã§ãããã
次ã«ã
CodeIgnite rãã©ã®ããã«ãã¢ããã°ã¬ãŒããããŠãããŸããŸãªãããžã§ã¯ãã«ãã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšãããã説æããŸãã ç°¡åã«èšãã°ãããã¥ã¡ã³ãã®åºæ¬çãªæ©èœãšäŸã¯éåžžã«åçŽã§ãããå®éã«ã¯ãã¹ãŠãã¯ããã«è€éã§ãã ããã§ã¯ãå§ããŸãããã
èªãåã«ãå
¬åŒã®
CodeIgniterããã¥ã¡ã³ããèªãããšã匷ããå§ãããŸãã ãã®èšäºã§ã¯ãå°ãªããšãã¡ã€ã³ãããã¯ãšã
ãã³ãã¬ãŒãããŒãµãŒã¯ã©ã¹ ããããã¯ãèªã¿ããããã®äŸãå®äºããŠããããšãåæãšããŠããŸãã
åºæ¬æ§æã§æåã«éåžžã«äžäŸ¿ãªã®ã¯ãã¢ãžã¥ãŒã«ã1ã€ã®ãã©ã«ããŒã«çµåããããšãªããã³ã³ãããŒã©ãŒãã¢ãã«ãããã³ãããã³ã°ãç°ãªããã©ã«ããŒã«åé¢ããããšã§ãã ã€ãŸã ããšãã°ã
ãã¥ãŒã¹ã衚瀺ããã
ãã¥ãŒã¹ ãã¢ãžã¥ãŒã«ãäœæããå Žåãã¢ãžã¥ãŒã«ã¯
ã³ã³ãããŒã©ãŒãã¢ãã«ããã¥ãŒã® 3ã€ã®ç°ãªããã©ã«ããŒã«å¿ã³èŸŒã¿
ãŸã ã ãããŠãã©ã®ã³ã³ãããŒã©ãŒãã©ã®ã¢ãã«ã«å±ããã©ã®ããã¥ãŒãã«å±ããŠãããã¯ãããã«ã¯ããããŸããã ããã¯ããã®ãããªã¢ãžã¥ãŒã«ã1ã€ããå Žåã«é©ããŠããŸãã ãããŠã10ãè¶
ããå Žåãå¶åŸ¡ãéåžžã«å°é£ã«ãªããŸãã

ã¯ããããã¥ã¡ã³ãå
ã«ããããã«ããã©ã«ããŒïŒã³ã³ãããŒã©ãŒãã¢ãã«ããã¥ãŒïŒå
ã«ãµããã©ã«ããŒïŒ
ãã¥ãŒã¹ãã¡ãã¥ãŒãã³ã¡ã³ããªã© ïŒãäœæããããã«ã³ã³ãããŒã©ãŒãã¢ãã«ããã¥ãŒãããããã§ããŸããããŸã äžäŸ¿ãªããã§ãã
modulesãã©ã«ããŒãããã°ãã£ãšäŸ¿å©ã§ããã®äžã«
Newsã¢ãžã¥ãŒã«ãã€ãŸã ãã©ã«ããŒããã®äžã«ã¯æ¢ã«3ã€ã®ãã©ã«ããŒïŒã«ãŠã³ã¿ãŒãã¢ãã«ããã¥ãŒïŒããããŸãã ãã®æ©èœã¯ã
CodeIgniterã®
HMVCæ¡åŒµæ©èœã«ãã£ãŠæäŸãããŸãã ãã®
ãªã³ã¯ããã€ã³ã¹ããŒã«æé ãããŠã³ããŒãããŠèªãã§
ãã ãã ã
ãã®æ¡åŒµæ©èœã«ããããã®ã¢ãžã¥ãŒã«ã®ã¿ã«é¢é£ããåã¢ãžã¥ãŒã«å
ã«ã¢ãã«ãã³ã³ãããŒã©ãŒããã¥ãŒãé
眮ã§ããŸãã ã¢ãã«ãã«ãŠã³ã¿ãŒããŸãã¯ãã¥ãŒã®ãã©ã«ããŒå
ã®ãããã®ã¢ãžã¥ãŒã«å
ã«ãµããã©ã«ããŒãäœæããããšãã§ããŸããããã¯ãå€ãã®ãã¡ã€ã«ãããå€§èŠæš¡ãªã¢ãžã¥ãŒã«ã«éåžžã«äŸ¿å©ã§ãã

ããã«ãããã«ãããç°ãªãã¢ãžã¥ãŒã«ããè€æ°ã®ã³ã³ãããŒã©ãŒãŸãã¯ã¢ãã«ãããŒããã䟿å©ãªæ§é ãæ§ç¯ã§ããŸãïŒãŸãã¯ã1ã€ã®ã¢ãã«ããå¥ã®ã¢ãžã¥ãŒã«ã®ã³ã³ãããŒã©ãŒãèµ·åãããªã©ïŒã
ãã¡ãããç§ã¯ããã§æ°ãããã®ãçºèŠããŸããã§ããã ãããã£ãŠã次ã«é²ã¿ãŸãã
ããŒã¹CIã§ã¯ãURLã¯æ¬¡ã®ããã«è§£æãããŸãã
example.com/
ã¯ã©ã¹/颿°/ IDã€ãŸã æåã®ã»ã°ã¡ã³ãã¯åŒã³åºãããã³ã³ãããŒã©ãŒïŒã¯ã©ã¹ïŒã2çªç®ã¯ãã®äžã®é¢æ°ã3çªç®ã¯é¢æ°ã«æž¡ããããã©ã¡ãŒã¿ãŒïŒ4çªç®ãš5çªç®ã®å ŽåããããŸãïŒã§ãã æ£çŽãªãšãããäžèŠæš¡ã®ãããžã§ã¯ãã§ãã£ãŠããããã¯éåžžã«äžäŸ¿ãªã®ã§ãURLãåŠçããããã®ç¬èªã®ããžãã¯ãæ§ç¯ããããšã«ããŸããã ãããè¡ãã«ã¯ãapplication / configãã©ã«ããŒå
ã®routes.phpãã¡ã€ã«ãç·šéããŠæžã蟌ã¿ãŸãã
$route['default_controller'] = "main"; $route[':any'] = "main";
ããã¯ããããã®å Žåã§ããã¡ã€ã³ã³ã³ãããŒã©ãŒãèªã¿èŸŒãŸãã
indexïŒïŒé¢æ°ãèµ·åãããããšã瀺ããŠããŸãã æ¬¡ã«ã
application / controllersãã©ã«ããŒã«ãã¡ã€ã«ãäœæããã
main.php ããšåŒã³ãŸãã HMVCæ¡åŒµæ©èœãã€ã³ã¹ããŒã«ããããšãå¿ããªãã§ãã ãããã³ã³ãããŒã©ãŒã¯
CI_Controllerããã§ã¯ãªãã
MX_Controllerãã
ç¶æ¿ããŸãã ãã®ã³ã³ãããŒã©ãŒãã¡ã€ã³ã³ã³ãããŒã©ãŒã«ãªãããã¹ãŠãã³ã³ãããŒã©ãŒãééããŸãã åæã«ãéåžžã«ã·ã³ãã«ã§ãå¶åŸ¡ãä»ã®ã¢ãžã¥ãŒã«ã«åçŽã«è»¢éããŸãã ããã¯ã
indexïŒïŒé¢æ°ãç§ã«ãšã£ãŠã©ã®ããã«èŠãããã§ãïŒ
function index() { session_start();
tpã¯ã©ã¹ã®æåŸã®2è¡ã¯ãŸã 倿ŽãããŠããŸããã Basic CIã¯PHPã»ãã·ã§ã³ã䜿çšããŸãããã代ããã«Cookieã«ããŒã¿ãä¿åããŸãïŒCookieã§åäœããŸãããã»ãã·ã§ã³ã©ã€ãã©ãªãåŒã³åºãããšã§æ°èŠåå
¥è
ãæ··ä¹±ã«é¥ããŸãïŒã ããã«ãããããããç§ã¯ãã€ãã£ãã®PHPã»ãã·ã§ã³ã䜿çšããããšã«ããŸããããCookieãæ±ãããã«CIãæäŸããæ©èœãå®å
šã«æŸæ£ããŸããã§ããïŒç§ã¯ãããšããã®äž¡æ¹ã䜿çšããŸãïŒã
ãã®ãããç§ãæåã«è¡ãããšã¯ãèšèªããã§ãã¯ããããšã§ãïŒç§ã®ãããžã§ã¯ãã¯å€ãã®å Žåå€èšèªã§ãïŒã
function check_lang() { if ($s=$this->uri->segment(1)) { switch ($s) { case 'ru': define('LANG','ru'); break; case 'en': define('LANG','en'); $this->config->set_item('language', 'english'); break; default: show_404('page'); } } else { define('LANG','ru'); } }
URLã®æåã®ã»ã°ã¡ã³ããèšèªãæ
åœããããšãããããŸãã ãã¡ã€ã«
application / config / config.phpã§ä»¥äžãæå®ããŸãã
$config['language'] = 'russian';
ã³ã³ãããŒã©ãŒããæ§æèšèªã倿Žããã«ã¯ãããã䜿çšããŸã
$this->config->set_item('language', 'english');
å€èšèªã䜿çšããŠããªãå Žåã¯ããããã¹ãããããŠãã ããã
check_moduleïŒïŒé¢æ°ã¯ãURLã®2çªç®ã®ã»ã°ã¡ã³ãïŒãŸãã¯å€èšèªã䜿çšããªãå Žåã¯æåã®ã»ã°ã¡ã³ãïŒãæå¹ãªã¢ãžã¥ãŒã«ã§ãããã©ããã確èªããå¿
èŠããããŸãã ããšãã°ã次ã®ããã«ãã³ã³ã¹ãã©ã¯ã¿ã§èš±å¯ãããã¢ãžã¥ãŒã«ãäºåã«èŠå®ããŸãã
function __construct() { $this->modules=array('auth','cabinet','ads','root');
次ã«ã颿°ã§ãã§ãã¯ããŸãïŒ
function check_module() { if ($m=$this->uri->segment(2)) { if (in_array($m,$this->modules)) { $this->common->load_module($m); $this->tp->tpl=$this->$m->tpl; } else { show_404('page'); } } else { $this->load_main_page();
ãããã£ãŠã2çªç®ã®ã»ã°ã¡ã³ãã空ã®å Žåãã¡ã€ã³ããŒãžãããŒããããŸãã URLã«æå¹ãªã¢ãžã¥ãŒã«ãããå ŽåãããŒããããããã§ãªãå Žåã¯404ã«ã¹ããŒãããŸããæ¬¡ã«ã
application / modelsãã©ã«ããŒã«2ã€ã®
tp.phpããã³
common.php ã¢ãã«ãäœæããŸãã
/autoload.php ïŒïŒ
$autoload['model'] = array('tp','common');
ã
tp ãã§ã¯ãéåžžã«åŒ±ããã€ãã£ãã®æ©èœãæ¡åŒµããŠãåçŽãªãã³ãã¬ãŒããšã³ãžã³ã®æäœã®ããã®æ©èœã説æããŸãã ã
common ãã«ã¯ãé »ç¹ã«äœ¿çšãããä»ã®ãã¹ãŠã®é¢æ°ãèšè¿°ããŸãã
ãããã£ãŠã
$ this-> common-> load_moduleïŒ$ mïŒã¯
$ mã¢ãžã¥ãŒã«ïŒURLã®2çªç®ã®ã»ã°ã¡ã³ãïŒãšãã®äžã®
indexïŒïŒé¢æ°ãããŒãããŸãã ããã§ã¯ãã¹ãŠãç°¡åã§ãïŒ
function load_module($module) { if (is_dir('application/modules/'.$module))
URLããããŒããããåã¢ãžã¥ãŒã«ã¯ãããŒãžå
šäœã«äœããã®ãã³ãã¬ãŒãã䜿çšããå¿
èŠããããŸããããšãã°ã
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>{page_title}</title> <link rel="stylesheet" type="text/css" href="{SITEURL}/css/main.css"> </head> <body> <div class="page"> {HEADER} <div class="content"> <div class="page_title"> {title_of_page} </div> <div class="needwidth"> <div class="rightside"> {LOOKED_ADS} </div> <div class="sam_kontent"> {MSG} {CONTENT} </div> <div class="clear"></div> </div> </div> {FOOTER} </div> </body> </html>
ããŒãžå
šäœã®ã¡ã€ã³ãã³ãã¬ãŒãã¯ã
application / views / templatesãã©ã«ããŒã«äœæãããŸãïŒ
ãã³ãã¬ãŒããã©ã«ããŒã¯æåã§äœæãããŸãïŒã ç°ãªãã¢ãžã¥ãŒã«ã§åããã³ãã¬ãŒãã䜿çšã§ããŸãã
ã¢ãžã¥ãŒã«ã³ã³ãããŒã©ãã¬ãŒã ã¯ãŒã¯èªäœã¯æ¬¡ã®ããã«ãªããŸãã
class News extends MX_Controller { private $mname; public $tpl; function __construct() { $this->tpl='p_default.tpl';
ã¢ãžã¥ãŒã«
News ã§ã¯ãã³ã³ãããŒã©ãŒãã¢ãã«ããã¥ãŒã® 3ã€ã®ãã©ã«ããŒãäœæã
ãŸã ã
controllersãã©ã«ããŒã§ã
news.phpãã¡ã€ã«ãäœæããäžèšã®ã³ãŒããããã«èšè¿°ããŸãã
indexïŒïŒé¢æ°ã§ã¯ãããžãã¯ãæ§ç¯ããŸãã ããšãã°ããã¥ãŒã¹ã¢ãžã¥ãŒã«ã®ã¢ãã«ãã©ã«ããŒã«ããnews_model.phpã¢ãã«ãããŒãããŸãã ãã§ã«ã¢ãã«ã§ãããŒã¿ããŒã¹ãæäœããããã®é¢æ°ãŸãã¯ãã®ã¢ãžã¥ãŒã«ã«é¢é£ããä»ã®è€éãªé¢æ°ã«ã€ããŠèª¬æããŸãã
æçµçã«ããã¥ãŒã¹ã¢ãžã¥ãŒã«ããååŸããçµæå
šäœã
CONTENTã©ãã«ã«æžã蟌ãŸãããã³ãã¬ãŒãå
ã§ãã®çµæã«çœ®ãæããããŸãã ãããã©ã®ããã«èµ·ããããçè§£ããã«ã¯ãããã³ãã¬ãŒããã®ããžãã¯ãã©ã®ããã«æ§ç¯ããããäŒããå¿
èŠããããŸãã
ããŒã¹ããŒãµãŒã®æ©èœãæ¡åŒµãããããã人éã®åœ¢ãã«ããŸããã åºæ¬çãªãã®ãã©ã®ããã«æ©èœãããããããªãå Žåã¯ããŸããããããŸãåŠçããŸãã
ãããã£ãŠã
tpã¢ãã«ãæ€èšããŠãã ããã
ããã«ã¯2ã€ã®
ãããªãã¯å€æ°ããããŸã-
$ D ã
$ tplã§ãã
$ Dã¯ãæçµçã«ãã³ãã¬ãŒãã®{LABEL}圢åŒã®ãã¹ãŠã®ã©ãã«ã
$ this-> D ['LABEL']ã®å
容ã§ã¢ãžã¥ãŒã«ã§çœ®ãæããã°ããŒãã«é
åã§ãã $ tplã¯ããŒãžå
šäœã®ã¡ã€ã³ã¡ã€ã³ãã³ãã¬ãŒãã§ãURLããåã¢ãžã¥ãŒã«ã«ç»é²ãããã¡ã€ã³ã¡ã€ã³ã³ã³ãããŒã©ãŒã«æž¡ãããŸããããã§ã
$ this-> tp-> load_tplãåŒã³åºãããŸãïŒ$ this-> tp-> tplïŒ ã
äžèšã®
parseïŒïŒé¢æ°ãèŠãŠããŸããã ãã®é¢æ°ã«ã¯2ã€ã®ãã©ã¡ãŒã¿ãŒãæž¡ãå¿
èŠããããŸããæåã®ãã©ã¡ãŒã¿ãŒã¯çµæãä¿åãããã©ãã«ïŒhtmlããŒã¹ïŒã2çªç®ã®ãã©ã¡ãŒã¿ãŒã¯
ãã¥ãŒãã©ã«ããŒã«ããhtmlããŒã¹ã§ãã ãã ãã
parseïŒïŒã¯ããã®htmlã«ã©ãã«ãååšãããã©ããã確èªããå¿
èŠã«å¿ããŠãããã解決ããŸãã
function parse($label, $tpl) { $TPL=$this->load->view($tpl, FALSE, TRUE); $pattern = '/{[A-Za-z0-9_]+}/';
ããããã¹ãŠããã
ããšãã° ãviewsãã©ã«ããŒå
ã®ãã¥ãŒã¹ã¢ãžã¥ãŒã«å
ã«
news.tplãã¡ã€ã«ãäœæããããã«æãåçŽãªhtmlãæžã蟌ãå Žåã
<h1> !</h1>
次ã«ã
example.com /
ru/ newsãå®è¡ãã
main.phpã¡ã€ã³ã³ã³ãããŒã©ãŒãèµ·åã
ãŸã ãããã«ãããã³ã³ãããŒã«ã
ãã¥ãŒã¹ã¢ãžã¥ãŒã«ã«è»¢éããã
p_default.tplãã³ãã¬ãŒã
ã ïŒäžèšã®ã³ãŒãããïŒ
ããŒããããŸãã
次ã«ã
ãã¥ãŒã¹ã¢ãžã¥ãŒã«ã³ã³ãããŒã©ãŒã¯{CONTENT}ã
ã¢ããªã±ãŒã·ã§ã³/ã¢ãžã¥ãŒã«/ãã¥ãŒã¹/ãã¥ãŒ/news.tplãã¡ã€ã«ã®ã³ã³ãã³ãã«
眮ãæã ã
p_default.tplãã³ãã¬ãŒãã®ã³ã³ãã³ãã衚瀺ã
ãŸã ã
ããã...ããã¯ãŸã çè«çã§ãã颿°
$ this-> tp-> load_tplïŒ$ this-> tp-> tplïŒããã³
$ this-> tp-> print_pageïŒïŒã«ã€ããŠèª¬æããŠããªãããã§ãã
load_tplïŒïŒé¢æ°ã¯ããã©ã¡ãŒã¿ãšããŠãã³ãã¬ãŒããåããŸããããã¯ã¡ã€ã³ã®ãã³ãã¬ãŒãã§ãã ããŒãžãã³ãã¬ãŒãå
šäœïŒ
ãã¥ãŒ/ãã³ãã¬ãŒããã©ã«ãå
ïŒã 次ã«ããã®ãã³ãã¬ãŒãã¯ãã¢ãžã¥ãŒã«ãŸãã¯åãªã倿°ïŒã¿ã€ãã«ãèäœæš©ãªã©ïŒã§ããä»ã®ã©ãã«ããã§ãã¯ããŸãã
倧æåã®ã©ãã«ãšæ°åã®ã©ãã«ã¯ã¢ãžã¥ãŒã«ã§ãå°æåã®ã©ãã«ã¯åçŽãªå€æ°ã§ãã ã©ãã«ã®çœ®æãèŠã€ãããªãå ŽåãåçŽã«äžæžãïŒåé€ïŒãããŸãã ã³ãŒãèªäœã¯æ¬¡ã®ãšããã§ãã
function load_tpl($tpl_name) { $TPL=$this->load->view('templates/'.$tpl_name, FALSE, TRUE); $pattern = '/{[A-Z0-9_]+}/'; $pattern2 = '/{[a-z_]+}/'; preg_match_all($pattern, $TPL, $MODULES);
ã¡ã€ã³ã³ã³ãããŒã©ãŒmainã®æåŸã§ã
print_pageïŒïŒé¢æ°ã
å®è¡ãããç»é¢ã«è©³çްãªãã³ãã¬ãŒãã衚瀺
ãããŸãã
function print_page() { $this->parser->parse('templates/'.$this->D['TPL'], $this->D); }
äžèšã®ãã¹ãŠã«ãããŠãç§ã¯å¯èœãªéãåçŽåããããšããŸããã å®éãç§ã«ãšã£ãŠã¯ãã¹ãŠãã¯ããã«è€éã§æ¡åŒµãããŠããŸãããããªãã¯èªåã§ãããè¡ãããšãã§ããŸãïŒããã§ãæåŸãŸã§èªãã§ããªããããããªãããã§ãïŒã ã
tp ãã¢ãã«ã«ã¯ããã³ãã¬ãŒããšã³ãžã³çšã®ããããçš®é¡ã®é¢æ°ããŸã ãããŸããããšãã°ã
function clear($label) { $this->D[$label]=''; } function kill($label) { unset($this->D[$label]); } function assign($label, $value='') { if (is_array($label)) { foreach ($label as $l=>$v) { $this->D[$l]=$v; } } else $this->D[$label]=$value; }
ããžãã¯ãçè§£ããã®ã¯ç°¡åã§ãã ããšãã°ã
$ this-> tp-> assignïŒ 'page_title'ã 'Home page'ïŒã䜿çšãããšããã³ãã¬ãŒãã®{page_title}ããHome pageãã«çœ®ãæããããšãã§ããŸãã
ãã³ãã¬ãŒãã®äžã«ã¯ãææ°ã®ãã¥ãŒã¹ãã¡ãã¥ãŒãªã©ãäœãã衚瀺ã§ããã¢ãžã¥ãŒã«ããããŸãã ãã³ãã¬ãŒãã§ã¯ã{MENU}ã{HEADER}ãªã©ã®æ¬åŒ§å
ã«æ¿å
¥ãããŸãã parseïŒïŒé¢æ°ã¯ããã®ãããªã©ãã«ã«ééãããšããã®ã©ãã«ãã¢ãžã¥ãŒã«ã§ãããã©ããã確èªããããã§ããã°ããã®ã¢ãžã¥ãŒã«ãçæãããã®ã§çœ®ãæããŸãã ãã®ãããªã¢ãžã¥ãŒã«ãã¢ãžã¥ãŒã«ãã©ã«ããŒå
ã«ãããç¬èªã®MVCãæã£ãŠããŸãã
ããšãã°ã
ããããŒã¢ãžã¥ãŒã«ã®ã¡ã€ã³ã³ã³ãããŒã©ãŒã¯æ¬¡ã®ããã«ãªããŸãã
class Header extends MX_Controller { public $mname, $tag; function __construct() { $this->mname=strtolower(get_class());
æåŸã®é¢æ°
$ this-> tp-> parseïŒ$ this-> tagã$ this-> mnameã '/'ã$ This-> mnameã 'ãTpl'ïŒã¯ã{HEADER}ã
ã¢ãžã¥ãŒã«/ããããŒ/ãã¥ãŒãã¡ã€ã«ã®å
容ã«çœ®ãæããŸã
/header.tplã¢ãžã¥ãŒã«ã¯åžžã«æåã«åäœããURLããããŒããããã¡ã€ã³ã®ã¢ãžã¥ãŒã«ã§ããããšã«æ³šæããå¿
èŠããããŸãããã®åŸããã³ãã¬ãŒããããŒãããããã®äžã®ãã¹ãŠã®ã¢ãžã¥ãŒã«ã§parseïŒïŒãåäœããŸãã
æç¢ºã«ããããã«ãäžèšã®ãã¹ãŠãåçã«æãããŠããŸãã

ç§ã¯åå§çãªã°ã©ãã£ãã¯ã¹ããaã³ããŸããç§ã¯ãŸã ããã°ã©ããŒã§ããããã¶ã€ããŒã§ã¯ãããŸããã
ããããã¹ãŠæäœæ¥ã§æžãã®ãé¢åãªå Žåã¯ãCodeIgniterãå°ãä¿®æ£ããŠããŠã³ããŒãããããã«æãäžããããšãã§ããŸãïŒäžã®ãªã³ã¯ïŒã ç§ã¯èªåã®æ©èœãã¢ãžã¥ãŒã«ãã¢ãã«ããã®ä»ãã¹ãŠãå
·äœçã«åãåããèšäºã«èšèŒãããŠãããã®ã ãã«éå®ããä»ã®ãã¹ãŠã«æ°ãåãããªãããã«èªåã§æ©èœãæ¡åŒµããããšããŠããŸãã
ãã¡ããã远å ããããšã¯ãŸã ãããããããŸãããããã®èšäºã¯éåžžã«é·ããã®ã§ããã
å°éå®¶ã®æ¹å€ãèããŠããããã§ãã
ç§ã®ä¿®æ£ãããCodeIgniterã¯
ããããããŠã³ããŒãã§ã
ãŸã ã
2011幎10æ15æ¥æŽæ°github.comã«ç»é²ãããªããžããªã«è¿œå ããŸããã ç§ã¯ãã¹ãŠãæ£ãããããšæããŸãã ãªã³ã¯ã¯ãã¡ãã§ã
https://github.com/IbrahimKZ/codeigniter