ïŒèšäºã¯éåžžã«å€ãããã®èšäºã§æèµ·ããã質åã«ãããšããã®æ¥ã«é¢é£ããŠãããããŸããŸãªè°è«ã§å®æçã«æèµ·ãããŠããŸãïŒ
çããã®å€ãã¯ãç§ãZend Frameworkã«é¢ããæ¬ãæžããŠããããšã«ããããæ°ã¥ããŠããã§ãããã ç§ã¯æè¿ããZend Frameworkã§ã®ã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ããšãZend Frameworkãç解ããããšãã2ã€ã®ç« ã®äžæžããå®æãããŸããã æåã®ç« ã§ã¯ãModel-View-ControllerïŒMVCïŒã¢ãŒããã¯ãã£ãã¿ãŒã³ãšããããWebã¢ããªã±ãŒã·ã§ã³ã®äºå®äžã®æšæºã«ãªã£ãçç±ã«ã€ããŠèª¬æããŸãã 2çªç®ã¯ãMVCãšZend Frameworkã³ã³ããŒãã³ãã®é¢ä¿ããããã®æ§é ãããã³çžäºäœçšã調æ»ããŸãã
äž¡æ¹ã®ç« ãå®äºããåŸãç§ã¯ã»ãšãã©ã®å Žåãã¢ãã«ãšZend Frameworkã«å®éã«ååšããªãããšã説æããŠããããšã«æ°ä»ããŸããã å®éãåäžã®Webãã¬ãŒã ã¯ãŒã¯ãå®å
šãªã¢ãã«ãæäŸããããã§ã¯ãããŸããïŒçç±ã«ã€ããŠã¯åŸã§èª¬æããŸãïŒã ãããŠããã®ç¶æ³ãæ確ã«èª¬æããŠãã人ã¯ããŸããã 代ããã«ãã¢ãã«ã®æŠå¿µããããŒã¿ãžã®ã¢ã¯ã»ã¹ãšããåäžã§ã¯ãªããé¢é£ããæŠå¿µã«äžè²«ããŠçµã³ä»ããŠããããã誰ããããªãæ··ä¹±ããŠããŸãã
ãã¬ãŒã ã¯ãŒã¯ã®ãã¡ãåŽã¯ããããŸã§ããŸã泚ç®ãããŠããŸããã§ããã ããã§ããWebã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ã®ã€ã¡ãŒãžãšé¡äŒŒæ§ã§MVCã䜿çšããããšããã¢ããªã±ãŒã·ã§ã³ã§ã¯ããŸãã«ãããã¯ã©ã¹ã®åé¡ã®æ ¹åºã«ãããŸãã ããã«ãã¢ãã«ã®ã¢ã€ãã¢ãä»ã®éçºè
ã«äŒããè©Šã¿ã¯ãå€ãã®å Žåãå£ã«é ãæã¡ã€ããŠããããã«èŠããŸãã ãã¹ãŠã®éçºè
ãæãã§ãããšããã¢ã€ãã¢èªäœãç解ããŠããªããšã¯èšããããããŸãããPHPã§åäœãããã©ããã«é¢ä¿ãªãã誰ãã¢ãã«ãæå³ã®ããé åïŒãªããžã§ã¯ãæåããã°ã©ãã³ã°ã®ååïŒã«é¢é£ä»ããŸããã
ãã®æçš¿ã§ã¯ãéçºè
ãã¢ãã«ãã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ãããŒã©ãŒãšè¡šçŸã«é¢é£ä»ããæ¹æ³ã«ç
§ãããŠã¢ãã«ã調ã¹ãé©åãªã¢ãã«ã§äœ¿çšã§ããããã€ãã®æŠç¥ã«ã€ããŠèª¬æããŸãã
ç解ãããŠããªãã¢ãã«
ã¢ãã«ã¯ããŸããŸãªæ¹æ³ã§èª¬æã§ããŸãã å®éãããã ãã§1åã®æ¬ãæžãããšãã§ããŸããå€ãã®äººãããããŸããïŒ éåžžã2ã€ã®ã¢ãã«ããŒã«ã«ã€ããŠèª¬æããŸãã
1.ã¢ãã«ã¯HTTPãªã¯ãšã¹ãéã§ç¶æ
ãç¶æãã責任ããããŸã
å®éããã¹ãŠã®ããŒã¿-ããŒã¿ããŒã¹ããã¡ã€ã«ãã»ãã·ã§ã³ã«ä¿åãããŠããããŸãã¯APCå
ã«ãã£ãã·ã¥ãããŠããããŒã¿ã¯ãæåŸã®ãªã¯ãšã¹ãã®æç¹ã§ã¢ããªã±ãŒã·ã§ã³ç¶æ
ã®åœ¢åŒã§ãªã¯ãšã¹ãéã§ä¿åããå¿
èŠããããŸãã ã¢ãã«ã¯ããŒã¿ããŒã¹ã«éå®ãããªãããšãå¿ããªãã§ãã ããã WebãµãŒãã¹ããååŸããããŒã¿ã§ãããã¢ãã«ãšããŠè¡šãããšãã§ããŸãïŒ ã¯ããAtomãã¥ãŒã¹ãã£ãŒããïŒ ã¢ãã«ãã¬ãŒã ã¯ãŒã¯ãããã«ç¥ããã人ã¯ããã決ããŠèª¬æããã誀解ã匷ããŸãã
ããšãã°ãç§ãéçºããŠããZend_Feed_Readerãšããã³ã³ããŒãã³ããèããŠã¿ãŸããããããã¯å®éã«ã¯ã¢ãã«ã§ãã 圌ã¯ãã¥ãŒã¹ãã£ãŒããèªã¿ãããããåŠçããããŒã¿ã解éããå¶éãã«ãŒã«ãè¿œå ããåºæ¬çã«ãåºç€ãšãªãããŒã¿ã®äŸ¿å©ãªãã¬ãŒã³ããŒã·ã§ã³ãäœæããŸãã ããããªãå ŽåãZend_FeedïŒçŸæç¹ã§ãã¥ãŒã¹ãã£ãŒããèªãã®ã«æé©ãªããŒã«ïŒããããæ¬æ Œçãªã¢ãã«ãååŸããã«ã¯å€ãã®äœæ¥ãå¿
èŠã§ãã ã€ãŸããZend_Feed_Readerã¯ã¢ãã«ã§ãããZend_Feedã¯ããŒã¿ã¢ã¯ã»ã¹ã«å¶éãããŠããŸãã
2.ã¢ãã«ã«ã¯ããã¹ãŠã®ã«ãŒã«ãšå¶éãå«ãŸãããã®æ
å ±ã®åäœãšäœ¿çšãå¶åŸ¡ããŸãã
ããšãã°ã調éã¢ããªã±ãŒã·ã§ã³ã§æ³šæã¢ãã«ã®ããžãã¹ããžãã¯ãèšè¿°ããäŒç€Ÿã®å
éšèŠåã«åŸã£ãŠãçŸé賌å
¥ã«500ãŠãŒãã®å¶éã課ãããå ŽåããããŸãã 泚æã¢ãã«ã§ã¯500ãŠãŒã以äžã®è³Œå
¥ã¯çŠæ¢ããå¿
èŠããããŸãïŒäžäœã®åœå±ã®æ¿èªãå¿
èŠãªå ŽåããããŸãïŒã ã¢ãã«ã«ã¯ããã®ãããªå¶éãèšå®ããæ段ãå¿
èŠã§ãã
ãã¢ãã«ããšããèšèã®æå³ãæ¯ãè¿ããšããã«ããã¹ãŠãæ確ã«ãªããŸãã æ°ååŠã§ã¯ãããŒã¿ãããã»ã¹ãäºæ³ãããåäœãèšè¿°ããå¯èœãªçµæã®èšç®ãå¯èœã«ããæ°åã¢ãã«ããããŸãã MVCã®Mã¯ãçç±ã«ããã¢ãã«ãšåŒã°ããŸãã ã¢ãã«ã¯ããŒã¿ãè¡šãã ãã§ãªãããã®ããŒã¿ã圹ç«ã€ã·ã¹ãã å
šäœãè¡šããŸãã ã·ã¹ãã èªäœã¯éåžžã«è€éãªãããçžäºäœçšããããã€ãã®ã¢ãã«ãå¿
èŠã«ãªããŸããããã®èãã¯ç解ã§ããŸãã
ãããã®2ã€ã®ãã€ã³ããèªãã åŸãããªãã¯ããããé©ãã¹ãäœãã«æ°ã¥ãå§ããŸããã ã€ã³ã¿ãŒãã§ã€ã¹ãé€ãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãã¢ãã«ãšããŠè¡šãããšãã§ããŸãã ããŒã¿ãéäžããŠããã®ã¯ãããã§ããããããã«åºã¥ããåäœã®ã«ãŒã«ããããŠå Žåã«ãã£ãŠã¯ãããã®ããŒã¿ã®åºåã§ãããããŸãã ããŒã¿ãç解ã解éãæ瀺ã§ããã¢ãã«ã§ãããããŒã¿ãææ矩ã«äœ¿çšã§ããŸãã
ããã°ã©ãã³ã°ã§ã¯ããµã€ãºããŒãã®ã¢ãã«ãããåãã¢ãã«ã®æ¹ãé©ããŠããŸãã
Jamis BuckïŒJamis BuckãCapistranoã®èè
ãçŸåš37signalsã§åããŠããŸãïŒã¯ããã€ãŠãSkinny ControllerãFat Modelãã®æŠå¿µã説æããŸããã ã¯ãªã¹ã»ããŒããžã§ã¹ããã®ããŒãã«é¢ããèšäºãæžããŠããŸãã MVCã®éèŠãªæ©èœã瀺ããŠããããããã®æŠå¿µã®ã·ã³ãã«ããåžžã«å¥œãã§ããã ãã®æŠå¿µã®ãã¬ãŒã ã¯ãŒã¯å
ã§ãå¯èœãªéãã¢ããªã±ãŒã·ã§ã³ããžãã¯ïŒäžèšã®äŸã®ããžãã¹ããžãã¯ãªã©ïŒã¯ã¢ãã«ã«é
眮ããã®ãæé©ã§ãããã³ã³ãããŒã©ãŒããã¥ãŒã«ã¯é
眮ããªããšèããããŠããŸãã
ãã¥ãŒã¯ããŠãŒã¶ãŒãèªåã®æå³ãã¢ãã«ã«éç¥ã§ããã€ã³ã¿ãŒãã§ãŒã¹ã®äœæãšè¡šç€ºã®ã¿ãåŠçããå¿
èŠããããŸãã ã³ã³ãããŒã©ãŒã¯ãã€ã³ã¿ãŒãã§ã€ã¹ã«å
¥åãããããŒã¿ãã¢ãã«ã®ã¢ã¯ã·ã§ã³ã«æ¥ç¶ãããã®ã¢ãã«ãã©ã®è¡šçŸã衚瀺ããŠããŠãåºåãéãè¿ããªãŒã¬ãã€ã¶ãŒã§ãã ã³ã³ãããŒã©ãŒã¯ããŠãŒã¶ãŒå
¥åãã¢ãã«åŒã³åºãã«æ¥ç¶ãããšããç¹ã§ã®ã¿ã¢ããªã±ãŒã·ã§ã³ã®åäœã決å®ããå¿
èŠããããŸãããããã§ãªãå Žåã¯ããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ããžãã¯ãã¢ãã«å
ã«ããããšãæ確ã«ããå¿
èŠããããŸãã ã³ã³ãããŒã©ãŒã¯ã秩åºããäœæ¥ã®æ¡ä»¶ãæäŸããæå°éã®ã³ãŒããæã€æ§ãããªçãç©ã§ãã
æŠããŠãPHPéçºè
ã¯ã¢ãã«ãäœã§ããããããç解ããŠããŸããã å€ãã®äººã¯ããã®ã¢ãã«ãããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ã«ãšã£ãŠçŸããèšèã ãšèããŠããŸãããä»ã®äººã¯ãã¢ãã«ãã¢ã¯ãã£ãã¬ã³ãŒããããŒã¿ããããŒãããŒãã«ããŒã¿ã²ãŒããŠã§ã€ãªã©ã®ããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããããã®ç°ãªããã³ãã¬ãŒããšèŠãªããŠããŸãã ãã¬ãŒã ã¯ãŒã¯ã¯ããã°ãã°ãã®èª€acyãæå³ããã«ä¿é²ããŸãããç§ã¯ç¢ºä¿¡ããŠããŸããã粟åçã«ã ã¢ãã«ãäœã§ãããããªããããçŽ æŽãããã¢ã€ãã¢ã§ãããã©ã®ããã«éçºããã³å±éãããã¹ãããå®å
šã«ç解ããŠããªããããéçºè
ã¯äžæ³šæã«è²§ãããšåŒã°ããéçºæ¹æ³ã«ã€ãªããæãéã«ä¹ãåºããŸãã
å°ãèããŠã¿ããšãèãã®åå°ãåŸãããŸãã Zend Frameworkã䜿çšããŠãäžçã§æãçŽ æŽãããWebã¢ããªã±ãŒã·ã§ã³ãäœæãããšæ³åããŠãã ããã ã¯ã©ã€ã¢ã³ãã¯é©ãã圌ã®åã³ïŒãããŠãéïŒã¯éåžžã«æ¥œããã§ãã æ®å¿µãªããã圌ãã¯åœŒãã®æ°ããCTOããã¹ãŠã®æ°ããã¢ããªã±ãŒã·ã§ã³ã§Symfonyã䜿çšããããšãèŠæ±ããã¢ããªã±ãŒã·ã§ã³ãå€æããããã«éåžžã«èå³æ·±ãéãæäŸããããšãå¿ããŠããŸããã 質åïŒããã¯ã©ããããç°¡åã§ããïŒ å°ãèããŠã¿ãŠãã ãã...
ã¢ããªã±ãŒã·ã§ã³ã®ããžãã¯ãã¢ãã«ã«é¢é£ä»ããããŠããå Žå-ããªãã¯éŠ¬ã«ä¹ã£ãŠããŸãïŒ symfonyã¯ãå€ãã®ïŒãã¹ãŠã§ã¯ãããŸãããïŒãã¬ãŒã ã¯ãŒã¯ãšåæ§ã«ãäœãæžããŠãã¢ãã«ãåãå
¥ããŸãã ã¢ãã«ããã®åäœãã¹ãããã«ããŒã¯ã©ã¹ããã»ãšãã©ãŸãã¯ãŸã£ããå€æŽããã«Symfonyã«ç§»æ€ã§ããŸãã ããããã¹ãŠãã³ã³ãããŒã©ãŒã«æ¥ç¶ãããšãåé¡ãçºçããŸãã Symfonyã¯Zend Frameworkã³ã³ãããŒã©ãŒã䜿çšã§ãããšæ¬åœã«æããŸããïŒ Zend Frameworkã®PHPendnæ¡åŒµæ©èœã䜿çšããæ©èœãã¹ãã¯ãéæ³ã®ããã«æ©èœããŸããïŒ äž¡æ¹ãªã³ã ããããã³ã³ãããŒã©ãŒãã¢ãã«ã亀æã§ããªãçç±ã§ãã åå©çšããããšã¯ã»ãšãã©äžå¯èœã§ãã
誀解ãããéå°è©äŸ¡ãããæãããŠããªãïŒææ°æ¶æ²ããã¢ãã«
ãã¬ãŒã ã¯ãŒã¯ã®99.9ïŒ
ã§ããã©ã«ãã§è¡ãããŠããããã«ãéçºè
ã¯ã¢ãã«ã®åœ¹å²ãéå°è©äŸ¡ããŠããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ãå¶éããããšãéåžžã«å€ããããã¢ãã«ã«é¢é£ä»ããããçè«çãªçæ³ã«æéãåããªãããšã¯é©ãããšã§ã¯ãããŸããã ããŒã¿ãžã®ã¢ã¯ã»ã¹ã«çŠç¹ãåœãŠãããšã§ãéçºè
ã¯1ã€ã®éåžžã«éèŠãªãã€ã³ããèŠéããŸããã¢ãã«ã¯ã©ã¹ã¯çŸåšã®ãã¬ãŒã ã¯ãŒã¯ã«é¢é£ããŠããŸããã ãããã¯è€éãªã€ã³ã¹ããŒã«ãå¿
èŠãšããããªããžã§ã¯ããäœæããŠäœ¿çšããã ãã§ãã
ãã¶ããç§ãã¡ã¯å¹³åçãªéçºè
ãéé£ãã¹ãã§ã¯ãããŸããã Webã¢ããªã±ãŒã·ã§ã³ã«ã¯ããã®æ²ç·éè·¯ãããé
åçã«ããç¹å®ã®è¡åãã¿ãŒã³ããããŸãããã®ã»ãšãã©ã¯ãéåžžã«å€§ããªããŒã¿ãªãŒããŒã§ãã ããŒã¿ãã»ãšãã©åŠçããããèªã¿åãã®ã¿ã®å Žåãã¢ãã«ã¯å€ãè¯ãããŒã¿ã¢ã¯ã»ã¹ãšéåžžã«ãã䌌ãŠããŸãã 幞éã§ã¯ãªãã®ã§ãããŒã¿ã®èªã¿åãã®åçŽãã«æããããªãã§ãã ããã ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãèªã¿åãã«éå®ãããŠããããã§ã¯ãããŸãããäžéšã®ã¢ããªã±ãŒã·ã§ã³ã¯ãããŒã¿ãå€æŽããã«é©åãªããŒã¿ããŒã¹åœ¢åŒã§è¡šç€ºãã以äžã®ããšãè¡ãå¿
èŠããããŸãã
PHPã®ã¢ãã«ã¯æè
ã§ãã ã¹ããŒãã£ãŒãšãã®èŠªsã®åºçŸä»¥æ¥ã誰ããããã©ãŒãã³ã¹ã«æ
ç±ã泚ãã§ããŸãã ãŸããã³ã³ãããŒã©ãŒã¯éåžžã«éèŠã§ããã³ã³ãããŒã©ãŒã¯ããŒã¿ããŒã¹ããããŒã¿ãèªã¿åãããããããã³ãã¬ãŒãã«æž¡ããŸãïŒäžè¬çã«åãå
¥ããããŠããVCã®è§£éïŒã ã¯ããã³ã³ãããŒã©ãŒã¯è³ã«æã¿èŸŒãã ããŒãžã³ã³ãããŒã©ãŒã®è«ççãªé²åã§ãããPHP3以éããã¹ãŠã®PHPéçºè
ãšåœŒã®ç¬ã«ãã£ãŠäœ¿çšãããŠããŸãã å°ãªããšãããã¯ã»ãšãã©ã®äººã«ã¯æãããªããã§ãã ãcontroller = page controllerããšããç¥è©±ã¯åŸã»ã©ç Žå£ããŸãã
ã¢ãã«ã¯ã©ãã§ããïŒ ã€ããªãã®ãŒçãªé
åãå€ãç¿æ
£ãšã®é¡äŒŒæ§ããªãããã人ã
ã¯ããããå¹³å¡ãªãããŒã¿ãžã®ã¢ã¯ã»ã¹ããšèŠãªããŠããŸãã ã¡ã¢ãªå
ã®åãå€ãæãPHPåç
§åã®ããã«ã èšèªã¯å€ãããŸããããå€ãã¢ã€ãã¢ã¯ãŸã ã«ãŒãã³ã®åŸãã«é ããŠããããã¥ãŒã©ã«ãããã¯ãŒã¯ãæ··ä¹±ãããŠããŸãã
ããããåŸ
ã£ãŠãã ãã...çµå±ã®ãšãããéçºè
ã¯ãŸã åäœäžã®ã¢ããªã±ãŒã·ã§ã³ãæžããŠããŸãïŒ ãããŠãã¢ããªã±ãŒã·ã§ã³ããžãã¯ãå«ãã¢ãã«ã䜿çšããªãå Žåãäœã䜿çšããŠããŸããïŒïŒ
倪ããŠæããªããã³ã³ãããŒã©ãŒïŒå¹³åãäœããŸããã ïŒå€ªãæããªUãã³ã³ãããŒã©ãŒïŒSUC It UpïŒ
éçºè
ã¯ã¢ãã«ã«ã€ããŠã»ãšãã©äœãç¥ããªãã£ãããã圌ãã¯æ°ããæŠå¿µãéçºããŸããïŒåããŠãã³ã³ãããŒã©ãŒïŒTTUKïŒã ããçç±ã§ãã®ãããªé®®æãªå®çŸ©ãæãã€ããŸãããããŒã«ã2ã3æ¯é£²ãã åŸãååŸ10æã«éåžžã«é¢çœãããã«èŠããŸãã ãããŠãç§ãæ¬åœã«èããŠãããããããã«äžå¯§ã§ãã ïŒèèªæããªUãã³ã³ãããŒã©-FSUC-FUCïŒã ã¢ãã«ã¯çããããšã€ãªã¢ã³ã§ããããªã¹ãã®ãããªååšã§ãããå°ãªããšãããŒã¿ãžã®ã¢ã¯ã»ã¹ã®å¶éãè¶
ãããã®ã誰ããããŠå§ããªãã£ãããããããã¯çºæãããŸããã
å
žåçãªTTUKã¯ãããŒã¿ããŒã¹ããããŒã¿ãèªã¿åãïŒéçºè
ãã¢ãã«ãšåŒã¶ããŒã¿æœè±¡åã¬ãã«ã䜿çšïŒãããããåŠçãããã§ãã¯ããæžã蟌ã¿ã衚瀺ã®ããã«ãã¬ãŒã³ããŒã·ã§ã³ã«è»¢éããŸãã 圌ã¯éåžžã«äººæ°ããããŸãã ãã¬ãŒã ã¯ãŒã¯ã®ã»ãšãã©ã®ãŠãŒã¶ãŒã¯ãããŒãžã³ã³ãããŒã©ãŒã®äœæã«äœ¿çšããã®ãšåããããèªç¶ã«ããããäœæãããšæããŸãã éçºè
ãã³ã³ãããŒã©ãŒãããŒãžã³ã³ãããŒã©ãŒãšã»ãŒåãæ¹æ³ã§åŠçã§ããããšã«æ°ä»ããããããããã¯äººæ°ããããŸããããã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãããŒãžãããšã«åå¥ã®phpãã¡ã€ã«ã䜿çšããå€ä»£ã®ææ³ãšäºå®äžéãã¯ãããŸããã
ç°åžžãªããšã«æ°ã¥ããŸããã§ãããïŒ TTUKã¯ãããŒã¿ã«å¯ŸããŠå¯èœãªãã¹ãŠã®ã¢ã¯ã·ã§ã³ãå®è¡ããŸãã ãªãã§ïŒ ã¢ãã«ãååšããªãå Žåããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ããžãã¯ãã³ã³ãããŒã©ãŒã«ç§»åãããããäžçš®ã®ãã¥ãŒã¿ã³ãã¢ãã«ã«ãªããŸãã ãå€ç°ããšããèšèã ãã䜿çšããããã§ã¯ãããŸããã TTUKã¯éåžžã«å€§ãããããã°ããããééããªãåãã§ãã äœãèµ·ãã£ãŠããããéåžžã«æ£ç¢ºã«èª¬æããæ¬äŒŒããã°ã©ããŒã®çšèªããããŸã-ã è¥å€§å ãã 圌ãã¯ã決ããŠæå³ãããŠããªãã¿ã¹ã¯ãå®è¡ããŸãã ããã¯ããªããžã§ã¯ãæåããã°ã©ãã³ã°ã®ãã¹ãŠã®ååã®æ£å察ã§ãã ãããŠã圌ãã¯ç¡æå³ã§ãïŒ ããã€ãã®ç¥ç§çãªçç±ãããéçºè
ã¯ãã¢ãã«ã®ä»£ããã«TTUKiã䜿çšããããšã奜ã¿ãŸããããã®ãããªã³ã³ãããŒã©ãŒã¯å®éã«ã¯åãªããã¥ãŒã¿ã³ãã¢ãã«ã§ãããšããäºå®ã«ããããããã§ãã
ç§ãã¡ã®ã¡ã³ã¿ã«ãšã¯ãµãµã€ãºãèŠããŠããŸããïŒ ãã¹ãŠãã³ã³ãããŒã©ãŒã«å
¥ãããšãã¢ããªã±ãŒã·ã§ã³ãå¥ã®ãã¬ãŒã ã¯ãŒã¯ã«ç§»æ€ããããšã¯éåžžã«é£ããã¿ã¹ã¯ã«ãªããŸãã ã±ã³ãã»ããã¯ã®ãã¡ã³ã¯ããã®ããã«ç·å¯ã«çµã³ä»ããŠãã³ãŒãèããšåŒãã§ããŸãã ãããŠãããã¯TTUKã®èãã®å¯äžã®åå ã§ã¯ãããŸããã TTUKã¯å€§èŠæš¡ã§ã倧èŠæš¡ãªã¡ãœãããè€æ°ã®ããŒã«ïŒéåžžã¯ã¡ãœããããšã«1ã€ïŒãæ©èœã«ãã£ãŠå€éšã¯ã©ã¹ã«æã¡èŸŒãŸããªãè€æ°ã®ã³ãŒãã®ç¹°ãè¿ã...ãã¹ã¿ãŒã®æªå€¢ã§ãã å€ãã®ãã¬ãŒã ã¯ãŒã¯ããããããç¬èªã®ã¢ããªã³ãäœæãããããªã¯ãšã¹ããªããžã§ã¯ããã»ãã·ã§ã³ãCookieãåŠçããããå
¥åã³ã³ãããŒã©ãŒããªã»ãããããïŒããã³ãã³ã³ãããŒã©ãŒã®ãªã»ããïŒããããšãªãããã¹ãïŒTDDïŒã§éçºãæ£ããé©çšããããšããã§ããŸããã ãã®å Žåã§ãããã¥ãŒã«äŸåããªãåºåã¡ãœããããªããããã³ã³ãããŒã©ãŒã«ãã£ãŠäœæããããã¥ãŒããã¹ãããå¿
èŠããããŸãïŒ
質åãç¶ããŸãããïŒ ã³ã³ãããŒã©ãŒãã©ã®ããã«ãã¹ãããŸããïŒ ã³ã³ãããŒã©ãŒãã©ã®ããã«ãªãã¡ã¯ã¿ãªã³ã°ããŸããïŒ ã³ã³ãããŒã©ãŒã®åœ¹å²ãã©ã®ããã«å¶éããŸããïŒ ã³ã³ãããŒã©ãŒã®ããã©ãŒãã³ã¹ã¯ã©ãã§ããïŒ ã¢ããªã±ãŒã·ã§ã³ã®å€éšã«ã³ã³ãããŒã©ãŒã€ã³ã¹ã¿ã³ã¹ãäœæããããšã¯ã§ããŸããïŒ æ°ã倱ãããšãªããäžè²«ããŠè€æ°ã®ã³ã³ãããŒã©ãŒã1ã€ã®ããã»ã¹ã«çµ±åã§ããŸããïŒ ãªããã£ãšåçŽãªã¯ã©ã¹ã䜿çšããŠã¢ãã«ãšåŒã°ãªãã®ã§ããïŒ ãããã®åé¡ã«ã€ããŠèããããšã¯ãããŸããïŒ
ã¢ãã«ã¯é¿ããããªãïŒæ»ãçšéãªã©ïŒ
TTUKã§ã¯ãå€å
žçãªééããç¯ãããŸãã ã¢ãã«ã®ã¢ã€ãã¢ã¯æãã§ãããŒã¿ãžã®ç°¡åãªã¢ã¯ã»ã¹ãæé©ã§ãããšèãããšãéçºè
ã¯ç¡æèã®ãã¡ã«ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ããžãã¯ãã³ã³ãããŒã©ãŒã«çµã³ä»ããŸãã ããã§ãšãããããŸãïŒ ã³ã³ãããŒã©ãŒã§ãããšäž»åŒµããŠãã¢ãã«ãäœæããŸããã ãããããã®èªç§°ã³ã³ãããŒã©ãŒã¯ã転éããã¹ããä¿å®ãããã³ãªãã¡ã¯ã¿ãªã³ã°ããã®ãéåžžã«å°é£ã§ãïŒå®äžçããã®æŠå¿µã®ãªãã¡ã¯ã¿ãªã³ã°ãèããŠã¿ãŠãã ãã...ããã¯èµ·ãããŸãïŒïŒã³ã³ãããŒã©ãŒã®æ§è³ªã¯ãåºç€ãšãªããã¬ãŒã ã¯ãŒã¯ã«å¯æ¥ã«é¢é£ããŠãããšããããšã§ãã æå®ããããã¬ãŒã ã¯ãŒã¯ã®MVCã®ã»ããå
šäœãåæåããåŸã«ã®ã¿ã³ã³ãããŒã©ãŒãå®è¡ã§ããŸãïŒããã¯ãä»ã®å€ãã®ã¯ã©ã¹ãžã®äŸåãæå³ããå¯èœæ§ãé«ãã§ãïŒïŒ
ããªãã¯ä»ã®æ¹æ³ã§è¡ãããšãã§ããŸã-ã¢ããªã±ãŒã·ã§ã³ããžãã¯ãã©ããã«æã£ãŠè¡ããŸãã ã³ã³ãããŒã©ãŒããã¢ãã«ã«ç§»åãããšã䜿çšãããã¬ãŒã ã¯ãŒã¯ã«äŸåããªãå€ãã®ã¯ã©ã¹ãååŸãããŸãã ããã§ãã³ã³ãããŒã©ãŒããã¥ãŒãèŠãããšãªãããŸãåãã¹ãã®åŸã«ãã¬ãŒã ã¯ãŒã¯ã®æããªåèµ·åã§èŠåŽããããšãªããPHPUnitã䜿çšããŠããããã®ã°ãªããã®èããã¹ãã§ããŸã ã ããããæ確ã«å®çŸ©ãããããŒã«ãæã€å®éã®ã¯ã©ã¹ãšèãããšãããããæ£ãã芳ç¹ããèŠãŠã察å¿ãããªãã¡ã¯ã¿ãªã³ã°ãå®è¡ããå€ãã®ã¯ã©ã¹ã§éè€ããããšãªãçã«ãµããŒããããã³ãŒããæžãããšãã§ããŸãã
ã¢ãã«ã¯é¿ããããŸããã TTUKã³ã³ãããŒã©ãŒãšåŒã¶äººãããŸãããå®éã«ã¯ã³ã³ãããŒã©ãŒ+ã¢ãã«ã§ãããéåžžã«å¹çã®æªãã¢ãã«ã®ä»£æ¿åã§ãã äžéšã®äººã
ã¯ãåªããç¬ç«ãããã¡ã€ã³ã¢ãã«ã®å¿
èŠæ§ã«ã€ããŠè©±ããæ··ä¹±ãæãã³ãŒããæžãç¶ããããããã¹ãŠã®æãè
ãåã«ç¬ãã§ãããã 圌ããç¬ãããŠãã ããã çµå±ã®ãšãããæ··ä¹±ãç¶æãããã¹ãããå¿
èŠãããã®ã¯åœŒãã§ãã
ããã¯ãã»ãšãã©ã®Webã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ããŠãŒã¶ãŒã«å€±æããå Žæã§ãã 圌ãã¯èšå€§ãªéã®ããŒã±ãã£ã³ã°ã®ãã³ã»ã³ã¹ã«å²ãŸããŠãããå®å
šãªã¢ãã«ãæäŸããããšãæ瀺çã«ç€ºåããŠããŸãã ä»ã«äœããçŽæ¥èšããã¬ãŒã ã¯ãŒã¯ãèŠãããšããããŸããïŒ çµå±ãããã¯åãMVCãã¬ãŒã ã¯ãŒã¯ã§ãã éçºè
ãèªåã§Mãèšè¿°ããå¿
èŠãããããšãèªèãããšãæªãå°è±¡ãäžããå¯èœæ§ããããŸãã ãã®ãããããŒã¿ã¢ã¯ã»ã¹ããã¥ã¡ã³ãã«æ£åšããå€ãã®è©³çŽ°ã«çå®ãé ããŠãããããŸã£ããèšåããŠããŸããã
å®éããããã¯ããŒã¿ã¢ã¯ã»ã¹ã¯ã©ã¹ã®ã¿ãæäŸããŸã-çŸåšã®ã¢ãã«ã¯ç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã®æ©èœãåæ ããã¯ã©ã€ã¢ã³ããšã®éä¿¡åŸã«ç¬ç«ããŠéçºããå¿
èŠããããŸãïŒãã®ããã«çŸããååãéžæã§ããŸã-ç§ã¯å人çã«ã極端ãªããã°ã©ãã³ã°ãã奜ã¿ãŸãïŒã ãã¹ããæ€èšŒãæŽæ°ããå¿
èŠãããã䜿çšããããã¬ãŒã ã¯ãŒã¯ã«é¢ä¿ãªããæå/倱æã®ç¢ºçã¯å€åããŸããã æªãRailsã¢ããªã±ãŒã·ã§ã³ã¯ãæªãCode Igniterã¢ããªã±ãŒã·ã§ã³ã®ãŸãŸã§ãã
ã³ã³ãããŒã©ãŒã¯ããŒã¿ãä¿è·ããŠã¯ãããŸãã
ã¢ãã«ã«å¯Ÿããäžè¬çãªäžä¿¡ã®ãã1ã€ã®çµæã¯ãéçºè
ãæå°éã«ã¢ãã«ã䜿çšããããŒã¿ã¹ãã¬ãŒãžã®æ°ãã圹å²ïŒTTUKã«ãããçªç¶å€ç°ã®äž»ãªçç±ã®1ã€ïŒãæã€ã³ã³ãããŒã©ãŒãä¿¡é Œããããšããããšã§ãã ç§ãšã®æ®éçãªäžäžèŽã®ç«ãããã«ç
§ãããŠã»ããã§ããïŒ
ãã°ããåã«ãç§ã¯ãããžã§ã¯ãïŒZend_View EnhancedïŒãäœæããŸããããã®ãããžã§ã¯ãã¯é
ããæ©ããZend Frameworkã«æ¡çšãããè€éãªãã¥ãŒãäœæãããªããžã§ã¯ãæåã®ã¢ãããŒããå°å
¥ããŸãã ãã¥ãŒã¯ä»²ä»ãªãã§å®è¡ã§ãã代ããã«ãã¥ãŒãã«ããŒã䜿çšããŠã¢ãã«ããçŽæ¥ããŒã¿ãèªã¿åãããšãã§ãããšèããŸããã ããã«ãããèªã¿åãå°çšã®å€ãã®ããŒãžã§ãã³ã³ãããŒã©ãŒã¢ã¯ã·ã§ã³ã空ã«ãªãã¢ãŒããã¯ãã£ã«ãªããŸãã ã³ãŒãã¯ãããŸããã ã¢ãŒã¡ã³ïŒ
ç§ã«ãšã£ãŠæé«ã®ã³ã³ãããŒã©ãŒã¯ãã³ã³ãããŒã©ãŒããªãããšã§ãã
ç§ã¯ããã«å€§éæµæã«ééããŸããã ã¢ãã«ãšã®ãã¹ãŠã®å¯Ÿè©±ãã·ã³ãã«ã§åå©çšå¯èœãªãã¥ãŒãã«ããŒã§ã¬ã³ããªã³ã°ããã空ã®ã³ã³ãããŒã©ãŒãã³ã³ãããŒã©ãŒå
ã®ç¹°ãè¿ãã³ãŒãïŒéåžžã«å€æ°ã®ç¹°ãè¿ãã³ãŒãïŒïŒãåæžããã³ã³ãããŒã©ãŒã¢ã¯ã·ã§ã³ã®ãã§ãŒã³ãæ§ç¯ããå¿
èŠæ§ãæé€ããããšã«æ°ã¥ãã人ã¯ã»ãšãã©ããŸããã§ããããã®ä»£ããã«ãç§ã¯å€ãã®ãã£ãããŒãªè¡šçŸãèããã MVCã¯æ¬¡ã®ããã«æ©èœãããšèããããŠããŸãããèŠæ±ã¯ã³ã³ãããŒã©ãŒã«éãããã³ã³ãããŒã©ãŒã¯ã¢ãã«ããããŒã¿ãåãåããã³ã³ãããŒã©ãŒã¯ã¢ãã«ãããã¥ãŒã«ããŒã¿ã転éããã³ã³ãããŒã©ãŒã¯ãã¥ãŒãæç»ããŸããã€ãŸããã³ã³ãããŒã©ãŒãã³ã³ãããŒã©ãŒãã³ã³ãããŒã©ãŒãã³ã³ãããŒã©ãŒã§ããç§ã¯ãã€ãŠãã³ãã¥ããã£ãåã«ã³ã³ãããŒã©ãŒã«åãä»ãããŠããããšã«æ°ã¥ããŸããã誰ããè¡šçŸãªããžã§ã¯ãã«ããŒã¿ãäžããèªåã§ã¢ãã«ããããŒã¿ãèªã¿åãããããšãä¿èšŒããã®ã¯ãŸã éåžžã«å°é£ã§ã...
泚ïŒãã¹ãŠãããã»ã©æªãããã§ã¯ãããŸãã-äžéšã®äººã
ã¯ãããäœã§ããããç解ããŸãã
ããã¯å®éã«ã¯éåžžã«å€ãã¢ã€ãã¢ã§ããããšã«ç°è°ãå±ãã人ã¯ããŸããã§ãããJavaã§ã¯ããã¥ãŒã¢ã·ã¹ã¿ã³ããšããçšèªãäœå¹Žãåã«J2EEã®ãã¶ã€ã³ãã¿ãŒã³ãšããŠå°å
¥ããããã¥ãŒãã«ããŒããã¥ãŒã¢ã¯ã»ã¹ã¢ãã«ãæ¯æŽã§ããããšã瀺ããŠããŸãïŒãã¹ãŠã®æžã蟌ã¿æäœã¯ã³ã³ãããŒã©ãŒãçµç±ããå¿
èŠããããããèªã¿åãå°çšã§ãïŒïŒäžéã³ã³ãããŒã©ãŒãªããMVCã®ãã¹ãŠã¯ããã¥ãŒãã³ã³ãããŒã©ãŒãå£ã«å
¥ããé
åã ãã§ãªãã衚瀺ããã¢ãã«ã«ã€ããŠãç¥ã£ãŠããã¹ãã ãšèšã£ãŠããŸãã
ã§ã¯ãããã«é²ãã§ã¿ãŸãããïŒ1ã€ã®ã¢ãã«ã«ããã€ã®ã¢ã€ãã¢ãããã°ååã§ããïŒç§ã®ã¢ã€ãã¢ã®å€ãã¯ããã€ãã®ã¢ãã«ã䜿çšããŠããããã®åŒã³åºãã¯ãã°ãã°ç¹°ãè¿ãããŸãããã¥ãŒãã«ããŒã¯1ã€ã®ã¯ã©ã¹ã§ãããã³ã³ãããŒã©ãŒã«ç¹°ãè¿ãåŒã³åºããè¿œå ããã«ã¯ããããã®åŒã³åºããããŸããŸãªã¡ãœããã§ç¹°ãè¿ãå¿
èŠããããŸãïŒ
ãã¥ãŒã¢ã·ã¹ã¿ã³ããåé€ããããã«ãã³ã³ãããŒã©ã®ã¢ã¯ã·ã§ã³ãåå©çšå¯èœãªã³ãã³ããšããŠåçºæããã1ã€ã®ã¯ã¬ã€ãžãŒãªãœãªã¥ãŒã·ã§ã³ãçºæãããŸããããã¥ãŒã«è€æ°ã®ã¢ãã«ãå¿
èŠãªå Žåãè€æ°ã®ã³ã³ãããŒã©ãŒãé çªã«åŒã³åºããŸããç§ã¯ãããã®èããã³ã³ãããŒã©ãŒãã§ãŒã³ãšåŒã³ãŸãããã®ç®çã¯ãã³ã³ãããŒã©ãŒã®åå©çšãå¯èœã«ãããŠãŒãã£ãªãã£ã³ãŒããäœæããããšã§ãã次ã®ããã«ç¿»èš³ã§ããŸããç¹å®ã®ã³ã³ãããŒã©ãŒã¢ã¯ã·ã§ã³ãå®è¡ããããã«å¿
èŠãªã¯ã©ã¹ãåå©çšããŸããå¿ããªãã§ãã ãã-ãã¬ãŒã ã¯ãŒã¯å
šäœãåæåããã«ã³ã³ãããŒã©ãŒã䜿çšããããšã¯ã§ããŸããããã ããäŸå€ã¯ãããŸãïŒåžžã«ååšããŸãïŒïŒã
ã¢ãã«-ã¯ã©ã¹ãã³ã³ãããŒã©ãŒ-ããã»ã¹
ç§ã®åã«ã¯ãŸããªãã¢ã€ãã¢ã¯ããããããªããéå±ãããŸããããåè¿°ã®ã¯ã©ããã³ã³ãããŒã©ãŒã«ã¯ããã«è©³çŽ°ãªæ€èšãå¿
èŠã§ãããªã³ã¯ã¯ãå€ãã®å Žåãè€æ°ã®ã¢ãã«ãžã®ã¢ã¯ã»ã¹ãè€æ°ã®ãã¥ãŒã®çµæã®çµåããŸãã¯ãã®äž¡æ¹ãåæã«è¡ãããã«äœ¿çšãããŸããåŸè
ã¯æãé »ç¹ã«çºçããŸã-ããã»ã¹ãç°¡çŽ åããããã«ãã¥ãŒã¢ã·ã¹ã¿ã³ãã䜿çšããªãå Žåãã³ã³ãããŒã©ãŒã¯ã»ãšãã©åžžã«ã¢ãã«ã«ã¢ã¯ã»ã¹ãããã¥ãŒã«ããŒã¿ãæž¡ããŸãã
3ã€ã®ã³ã³ãããŒã©ãŒãäœæããããããããã¥ãŒãäœæãããšããŸããæ°ããWebããŒãžãäœæããã«ã¯ããã³ãã¬ãŒãïŒãŸãã¯ã¬ã€ã¢ãŠãïŒã«åŸã£ãŠ3ã€ã®ãã¥ãŒã1ã€ã®ããŒãžã«çµåããå¿
èŠããããŸããããã¯ãZend_LayoutïŒãŸãã¯ãã¥ãŒã1ã€ã®ã¬ã€ã¢ãŠã/ã»ã¯ã·ã§ã³ã«ã¢ã»ã³ãã«ããããã®ãã®ä»ã®ãœãªã¥ãŒã·ã§ã³ïŒã䜿çšããŠã3ã€ãã¹ãŠã®ã³ã³ãããŒã©ãŒãé çªã«åŒã³åºãããšã«ãã£ãŠè¡ãããŸããããã§äœãèµ·ãã£ãã®ããèŠãŠã¿ãŸããã-3ã€ã®ã³ã³ãããŒã©ãŒã¯ãMVCã¹ã¿ãã¯ã3åå®è¡ããããšãæå³ããŸããã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠã¯ãããã«ãããªãœãŒã¹ã®ãªãŒããŒãããã倧ãããªãå¯èœæ§ããããŸãããããã®ã³ã¹ãã®å€§ããã®äŸãšããŠãSymfonyã¯ããã©ãŒãã³ã¹ãžã®åœ±é¿ã軜æžããããã ãã«èšèšãããç¹æ®ãªã¿ã€ãã®ã³ã³ãããŒã©ãŒãšããŠãã³ã³ããŒãã³ããã䜿çšããŸãããZend Frameworkã«ã¯ä»ã«é¡ãèŠãŸãããRailsã§ã®åæ§ã®ã¢ã€ãã¢ã¯ãããã©ãŒãã³ã¹ã®äœäžã«ã€ããŠå€ãã®èŠæ
ãåŒãèµ·ãããŸããããã¬ãŒã ã¯ãŒã¯ã§è€æ°ã®å®å
šãªã³ã³ãããŒã©ã䜿çšããããšã¯éåžžã«éå¹ççã§ãããä»ã®åå©çšæŠç¥ããªãå Žåã®æåŸã®æ段ã§ãããšäžè¬çã«ç¥ãããŠããŸãã
ç¹°ãè¿ãã«ãªããŸãããã³ã³ãããŒã©ãŒã¯ã©ããã¯ã¹ããã¯ã³ãŒãã§ããããã¯éå¹ççã§äžåšçšã§ãããéåžžã¯å¿
èŠãããŸããã
ãã¡ããã代æ¿æ段ã¯ããã¥ãŒã¢ã·ã¹ã¿ã³ããä»ããŠã¢ãã«ãšçŽæ¥å¯Ÿè©±ã§ããéšåè¡šçŸïŒ1ã€ã®èŠªè¡šçŸã«çµåã§ãããã³ãã¬ãŒãã®æçïŒã®äœ¿çšã§ããäžè¬çã«ã³ã³ãããŒã©ãŒãåãé€ããŸã-æçµçã«ãã³ã³ãããŒã©ãŒã¯ãŠãŒã¶ãŒå
¥åã察å¿ããã¢ãã«åŒã³åºãã«æž¡ã以å€ã®ã¢ããªã±ãŒã·ã§ã³ããžãã¯ãæã¡ãŸããïŒTTUKãé€ãïŒã
åºæ¬çãªèãæ¹ã¯ãã¢ãã«ã¯ççµåã¯ã©ã¹ã®åãªãã³ã¬ã¯ã·ã§ã³ã§ãããšããããšã§ããä»ã®ã¢ãã«ãã³ã³ãããŒã©ãŒããã¥ãŒãªã©ãã©ãã§ãã€ã³ã¹ã¿ã³ã¹ãäœæããŠäœ¿çšã§ããŸãïŒäžæ¹ãã³ã³ãããŒã©ãŒã¯ããã»ã¹å
šäœã®äžå¯æ¬ ãªéšåã§ããèŠæ±ãªããžã§ã¯ãã®äœæããã£ã¹ããããã¢ã¯ã·ã§ã³ã¢ã·ã¹ã¿ã³ãã®äœ¿çšããã¬ãŒã³ããŒã·ã§ã³ã®åæåãè¿ãããå¿çãªããžã§ã¯ãã®åŠçã®ããã»ã¹å
šäœãéå§ããã«ã³ã³ãããŒã©ãŒãåå©çšããããšã¯ã§ããŸãããããã¯é«äŸ¡ã§åä»ã§ãã
äŒè©±ã®çµããã«
ãæ°ã¥ããããããŸãããããã®èšäºã¯éåžžã«éèŠã§ããç§ã¯ãMVCãã¬ãŒã ã¯ãŒã¯ã§ãªããžã§ã¯ãæåããã°ã©ãã³ã°ã®ãšã¬ã¬ã³ããªååãå®è£
ããå¿
èŠæ§ã確信ããŠããŸããã ãããããç§ã¯Zend Frameworkã§Zend_View Enhancedã宣äŒããããã«æåãå°œããããããã©ã®ããã«æ¿èªãããè°è«ãããéåžžã«ããŸã䜿çšãããŠããããèŠãŸãããããã¯äž»ã«ããã®ã¢ã€ãã¢ã®æšé²ã«åå ãããã·ã¥ãŒã¯ã€ã¢ãŒãªãããŒãšã©ã«ãã·ã³ãã©ãŒã«ãããã®ã§ãã OOPã®ç°¡åãªæ¹æ³ãšååãå¿ããŠãMVCãšã®æŠãã«åãæ®ããããã®æå³ãå¿ããŸãã MVCã¯åªããã¢ãŒããã¯ãã£ãã³ãã¬ãŒãã§ãããæçµçã«ãMVCã®è§£éãäžè¬çãªä¿¡å¿µã¯ããããOOPã®ååã«åºã¥ããŠããŸãããããå¿ããŠãæªãããšïŒTMïŒãå§ããŸãã
ã¢ãã«-ã³ã³ãããŒã©ãŒ-è¡šçŸã®ã¢ãã«ã«ã€ããŠã®ãã®èãã®æµãããåçºçãªãã®ã§ãããããªãã«èããããããšãé¡ã£ãŠããŸããèªåèªèº«ãç®æšãšããã¹ãã ãšæã-ãã¹ãŠãçããããªãã«ãšã£ãŠäœãããããããšæããããšãã¯åæãããç²ä¿¡ã«é Œã£ãŠãç§ãã¡ã¯ç§ãã¡ã«èµ·ãããã¹ãŠã«å€ããŸãã
MVCã®MïŒã¢ãã«ã誀解ãããè©äŸ¡ãããªãçç±