7.3. ÇÁ·±Æ® ÄÜÆ®·Ñ·¯

7.3.1. °³¿ä

Zend_Controller_Front ÇÏ Model-View-Controller (MVC) ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ÀÌ¿ëµÈ´Ù ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ ÆÐÅÏ (À»)¸¦ ½ÇÀåÇÑ °ÍÀÔ´Ï´Ù. ±× ¿ªÇÒÀº, ¸®Äù½ºÆ® ȯ°æÀ» ÃʱâÈ­ÇØ ¸®Äù½ºÆ®ÀÇ ¹è¼Ûó¸¦ °áÁ¤ÇØ, ¹ß°ßµÈ ¹è¼Û ³¡¿¡ 󸮸¦ ÀεµÇÏ´Â °ÍÀÔ´Ï´Ù.¶Ç, ¸®½ºÆù½ºÀÇ ³»¿ëÀ» ÃëµæÇØ ±×°ÍÀ» ÄÝ ¹ÙÅÁÀ¸·Î µ¹·ÁÁÝ´Ï´Ù.

Zend_Controller_Front ÇÏ ½Ì±Û Åæ ÆÐÅÏ µµ ½ÇÀåÇϰí ÀÖ½À´Ï´Ù.Áï, ¾î¶² °æ¿ì¶óµµ ÇϳªÀÇ ÀνºÅϽº ¹Û¿¡ Á¸ÀçÇÏÁö ¾Ê°Ô µË´Ï´Ù. À̰ÍÀ» ÀÌ¿ëÇϸé, ÄÜÆ®·Ñ·¯¸¦ ·¹Áö½ºÆ®¸®·Î¼­ Ãë±ÞÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.

Zend_Controller_Front ÇÏ Ç÷¯±× ÀÎ ºê·ÎÄ¿ (À»)¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.À̰Ϳ¡ ÀÇÇØ, ´Ù¾çÇÑ À̺¥Æ®¸¦ Ç÷¯±× ÀÎÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. °³¹ßÀÚ´Â, µð½ºÆÌÄ¡ 󸮸¦ Ä¿½ºÅ͸¶ÀÌÁî ÇØ ±â´ÉÀ» Ãß°¡ÇÒ ¶§¿¡ ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ ÀÚü¸¦ °è½ÂÇÑ Å¬·¡½º¸¦ ÀÛ¼ºÇÒ Çʿ䰡 ¾ø¾îÁý´Ï´Ù.

¾×¼Ç ÄÜÆ®·Ñ·¯ ¿¡ÀÇ ÆÐ½º¸¦ Æ÷ÇÔÇÑ µð·ºÅ丮¸¦ ÃÖÀú Çϳª´Â ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ÇÁ·±Æ® ÄÜÆ®·Ñ·¯´Â µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù. ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ÀÇ µ¿ÀÛȯ°æÀ̳ª ±× ÇïÆÛ Ŭ·¡½º¸¦ º¯°æÇϱâ À§Çؼ­, ´Ù¾çÇÑ ¼ö¹ýÀÌ ÁغñµÇ¾î ÀÖ½À´Ï´Ù.

[ÁÖÀÇ] µðÆúÆ®ÀÇ °Åµ¿

µðÆúÆ®¿¡¼­´Â, ÇÁ·±Æ® ÄÜÆ®·Ñ·¯´Â ErrorHandler Ç÷¯±× Àΰú ViewRenderer ¾×¼Ç ÇïÆÛ Ç÷¯±× ÀÎÀ» ÀоîµéÀÔ´Ï´Ù. À̰͵鿡 ÀÇÇØ, ÄÜÆ®·Ñ·¯³»¿¡¼­ÀÇ ¿¡·¯ 󸮳ª ºäÀÇ ·»´õ¸µÀÌ ½ÉÇÃÇÏ°Ô ½Ç½ÃÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.

ErrorHandler (À»)¸¦ ¹«È¿·Î ÇÏ·Á¸é , dispatch() (À»)¸¦ ÄÝ Çϱâ ÀüÀÇ ¾îµð¼±°¡ ÀÌÇÏ¿Í °°ÀÌ ÇÕ´Ï´Ù.


<?php
// ErrorHandler Ç÷¯±× ÀÎÀ» ¹«È¿·Î ÇÕ´Ï´Ù
$front->setParam('noErrorHandler'true);

ViewRenderer (À»)¸¦ ¹«È¿·Î ÇÏ·Á¸é , dispatch() (À»)¸¦ ÄÝ Çϱâ Àü¿¡ ÀÌÇϸ¦ ½ÇÇàÇÕ´Ï´Ù.


<?php
// ViewRenderer ÇïÆÛ¸¦ ¹«È¿·Î ÇÕ´Ï´Ù
$front->setParam('noViewRenderer'true);

7.3.2. ÁÖ¿äÇÑ ¸Þ¼Òµå

ÇÁ·±Æ® ÄÜÆ®·Ñ·¯¿¡´Â, ±× ȯ°æ ¼³Á¤¿ëÀÇ ¸Þ¼Òµå°¡ ¸î°³Àΰ¡ ÁغñµÇ¾î ÀÖ½À´Ï´Ù. ±× Áß¿¡¼­ ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ÀÇ ±â´ÉÀÇ ¿­¼è°¡ µÇ´Â ÁÖ¿äÇÑ ¸Þ¼Òµå´Â, ÀÌÇÏÀÇ3°³ÀÔ´Ï´Ù.

7.3.2.1. getInstance()

getInstance() (Àº)´Â, ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ÀÇ ÀνºÅϽº¸¦ ÃëµæÇÕ´Ï´Ù. ÇÁ·±Æ® ÄÜÆ®·Ñ·¯´Â ½Ì±Û Åæ ÆÐÅÏÀ» ½ÇÀåÇϰí ÀÖÀ¸¹Ç·Î, ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀº ÀÌ ¸Þ¼Òµå¸¦ ÄÝ ÇÏ°Ô µË´Ï´Ù.


<?php
$front 
Zend_Controller_Front::getInstance();

7.3.2.2. setControllerDirectory() ¹× addControllerDirectory

setControllerDirectory() (Àº)´Â,µð½ºÆÖÃÄ ÇÏÁö¸¸ ¾×¼Ç ÄÜÆ®·Ñ·¯ Ŭ·¡½º ÆÄÀÏÀ» ¾îµð¿¡¼­ ãÀ¸¸é ÁÁÀº °ÍÀÎÁö¸¦ ÁöÁ¤ÇÏ´Â ¸Þ¼ÒµåÀÔ´Ï´Ù. ´ÜÀÏÀÇ ÆÐ½º¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ°í, º¹¼öÀÇ ÆÐ½º¸¦ ¿¬»ó ¹è¿­·Î ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

¸î°³Àΰ¡¿¹¸¦ ³ªÅ¸³À´Ï´Ù.


// µðÆúÆ®ÀÇ ÄÜÆ®·Ñ·¯ µð·ºÅ丮¸¦ ¼³Á¤ÇÕ´Ï´Ù
$front->setControllerDirectory('../application/controllers');

// º¹¼öÀÇ ¸ðµâÀÇ µð·ºÅ丮¸¦ ÇÑ ¹øÀ¸·Î ÁöÁ¤ÇÕ´Ï´Ù
$front->setControllerDirectory(array(
    'default' => '../application/controllers',
    'blog'    => '../modules/blog/controllers',
    'news'    => '../modules/news/controllers',
));

// 'foo' ¸ðµâÀÇ µð·ºÅ丮¸¦ Ãß°¡ÇÕ´Ï´Ù
$front->addControllerDirectory('../modules/foo/controllers', 'foo');
[ÁÖÀÇ] ÁÖÀÇ

addControllerDirectory() ±×¸®°í ¸ðµâ¸íÀ» »ý·« Çϸé,default ¸ðµâÀÌ ÁöÁ¤µÈ °ÍÀ¸·Î °£ÁÖÇÕ´Ï´Ù. ¸¸¾à ¹ú½á Á¸ÀçÇÏ´Â °æ¿ì´Â, ±×°ÍÀ» µ¡¾²±âÇÕ´Ï´Ù.

ÄÜÆ®·Ñ·¯ µð·ºÅ丮ÀÇ ÇöÀçÀÇ ¼³Á¤À» ÃëµæÇÏ·Á¸é getControllerDirectory() (À»)¸¦ »ç¿ëÇÕ´Ï´Ù. À̰ÍÀº, ¸ðµâ°ú µð·ºÅ丮ÀÇ Á¶¸¦ ¹è¿­·Î µ¹·ÁÁÝ´Ï´Ù.

7.3.2.3. dispatch()

dispatch(Zend_Controller_Request_Abstract $request = null, Zend_Controller_Response_Abstract $response = null) (Àº)´Â, ÇÁ·±Æ® ÄÜÆ®·Ñ·¯¿¡¼­ °¡Àå Áß¿äÇÑ ÀÏÀ» ´ã´çÇÕ´Ï´Ù. ¿É¼ÇÀ¸·Î ¸®Äù½ºÆ® ¿ÀºêÁ§Æ® (ÀÌ)³ª ¸®½ºÆù½º ¿ÀºêÁ§Æ® (À»)¸¦ ¹Þ¾Æ, °¢°¢ µ¶ÀÚÀûÀÎ ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸®Äù½ºÆ® ¿ÀºêÁ§Æ®³ª ¸®½ºÆù½º ¿ÀºêÁ§Æ®¸¦ »ý·« Çϸé, dispatch() (Àº)´Â »çÀü¿¡ ¿ÀºêÁ§Æ®°¡ µî·ÏµÇ¾î ÀÖ´ÂÁö ¾î¶²Áö¸¦ È®ÀÎÇÕ´Ï´Ù. ¸¸¾à µî·ÏµÇ¾î ÀÖÀ¸¸é ±×°ÍÀ» »ç¿ëÇØ, µî·ÏµÇÁö ¾ÊÀ¸¸é µðÆúÆ®ÀÇ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇØ »ç¿ëÇÕ´Ï´Ù (¾î´À ÂÊÀÇ °æ¿ì¿¡ ´ëÇØ¼­µµ,HTTP ¸®Äù½ºÆ®/¸®½ºÆù½º ¿ÀºêÁ§Æ®¸¦ µðÆúÆ®·Î »ç¿ëÇÕ´Ï´Ù).

°°ÀÌdispatch() ÇÏ ¶ó¿ìÅÍ (ÀÌ)³ª µð½ºÆÖÃÄ ¿ÀºêÁ§Æ®¿¡ ´ëÇØ¼­µµ µî·ÏÀ» ¸¶Ä£ °ÍÀÌ ÀÖÀ»Áö¸¦ È®ÀÎÇÕ´Ï´Ù. ¸¸¾à ÀÖÀ¸¸é ±×°ÍÀ» »ç¿ëÇØ, ¾øÀ¸¸é µðÆúÆ®ÀÇ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇØ »ç¿ëÇÕ´Ï´Ù.

µð½ºÆÌÄ¡ 󸮴Â, ´ÙÀ½ÀÇ 3´Ü°è·Î ³ª´­ ¼ö ÀÖ½À´Ï´Ù.

  • ·çÆÃ

  • µð½ºÆÌÄ¡

  • ¸®½ºÆù½º

·çÆÃÀº ÇÑ ¹ø¸¸ ¹ß»ýÇÕ´Ï´Ù.À̰ÍÀº,dispatch() ÇÏÁö¸¸ ÄÝ µÇ¾úÀ» ¶§ÀÇ ¸®Äù½ºÆ® ¿ÀºêÁ§Æ®ÀÇ ³»¿ëÀ» »ç¿ëÇØ ½Ç½ÃÇÕ´Ï´Ù. µð½ºÆÌÄ¡´Â ¹Ýº¹ÇØ ÇàÇØÁý´Ï´Ù. ÇϳªÀÇ ¸®Äù½ºÆ®°¡ º¹¼öÀÇ ¾×¼ÇÀ» ÁöÁ¤ÇØ ÀÖ´Â °æ¿ì³ª, ÄÜÆ®·Ñ·¯ ¶Ç´Â Ç÷¯±× ÀÎÀÌ ¸®Äù½ºÆ® ¿ÀºêÁ§Æ®¸¦ ¼³Á¤ ´Ù½Ã ÇØ ´Ù¸¥ ¾×¼Ç¿¡ µð½ºÆÌÄ¡ ½ÃÄ×À» °æ¿ì µîÀÔ´Ï´Ù. ¸ðµÎ °¡ Á¾·áµÇ¸é, ÇÁ·±Æ® ÄÜÆ®·Ñ·¯´Â ¸®½ºÆù½º¸¦ µ¹·ÁÁÝ´Ï´Ù.

7.3.2.4. run()

Zend_Controller_Front::run($path) (Àº)´Â Á¤Àû ¸Þ¼Òµå·Î, ÄÜÆ®·Ñ·¯¸¦ Æ÷ÇÔÇÑ µð·ºÅ丮¿¡ÀÇ ÆÐ½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â getInstance() (À»)¸¦ »ç¿ëÇØ ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ÀÇ ÀνºÅϽº¸¦ ÃëµæÇØ, setControllerDirectory() (À»)¸¦ »ç¿ëÇØ ÆÐ½º¸¦ µî·ÏÇØ, ¸¶Áö¸·¿¡ µð½ºÆÌÄ¡ ÇÕ´Ï´Ù.

run() (Àº)´Â, »çÀÌÆ® ´ÜÀ§ÀÇ ¼³Á¤µî¿¡¼­ ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ÀÇ Ä¿½ºÅ͸¶ÀÌÁî°¡ ºÒÇÊ¿äÇÑ °æ¿ì¿¡ Æí¸®ÇÑ ¸Þ¼ÒµåÀÔ´Ï´Ù.


<?php
// ÇÁ·±Æ® ÄÜÆ®·Ñ·¯¸¦ ÀÛ¼ºÇØ ÄÜÆ®·Ñ·¯ µð·ºÅ丮¸¦ ¼³Á¤ÇØ,
// µð½ºÆÌÄ¡ ÇÒ ¶§±îÁö¸¦ ÇÑ ¹ø¿¡ °£´Ü¿¡ ½Ç½ÃÇÕ´Ï´Ù
Zend_Controller_Front::run('../application/controllers');

7.3.3. ȯ°æ¿¡ÀÇ ¾×¼¼½º¿ë ¸Þ¼Òµå±º

Áö±Ý±îÁö ¼³¸íÇÑ ¸Þ¼Òµå À̿ܿ¡µµ ´Ù¾çÇÑ ¾×¼¼½º¿ë ¸Þ¼Òµå°¡ ÁغñµÇ¾î ÀÖ¾î À̰͵éÀ» »ç¿ëÇØ ÇÁ·¹¿Â°ú ÄÜÆ®·Ñ·¯ÀÇ È¯°æ¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, ÇÁ·±Æ® ÄÜÆ®·Ñ·¯°¡ 󸮸¦ À§¾ç Çϰí Àִ Ŭ·¡½ºÀÇ È¯°æ¿¡µµ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.

  • resetInstance() (Àº)´Â, ÇöÀçÀÇ ¼³Á¤À» ¸ðµÎ ¼Ò°ÅÇÕ´Ï´Ù. ÁÖ·Î Å×½ºÆ® ¸ñÀûÀ¸·Î »ç¿ëÇÕ´Ï´Ù¸¸, º¹¼öÀÇ ÇÁ·±Æ® ÄÜÆ®·Ñ·¯¸¦ ¿¬°á½ÃŰ°í ½ÍÀº °æ¿ì µî¿¡ »ç¿ëÇϱ⵵ ÇÕ´Ï´Ù.

  • (set|get)DefaultControllerName() ±×¸®°í, µðÆúÆ®ÀÇ ÄÜÆ®·Ñ·¯·Î¼­ »ç¿ëÇÏ´Â À̸§À» ÁöÁ¤Çϰųª (ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é 'index' µË´Ï´Ù) ÇöÀçÀÇ ¼³Á¤À» ÃëµæÇϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°Íµé ¸Þ¼Òµå´Â, µð½ºÆÖÃÄ ¿¡ÀÇ ÇÁ·Ï½ÃÀÔ´Ï´Ù.

  • (set|get)DefaultActionName() ±×¸®°í, µðÆúÆ®ÀÇ ¾×¼ÇÀ¸·Î¼­ »ç¿ëÇÏ´Â À̸§À» ÁöÁ¤Çϰųª (ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é 'index' µË´Ï´Ù) ÇöÀçÀÇ ¼³Á¤À» ÃëµæÇϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼Òµå´Â µð½ºÆÖÃÄ ¿¡ÀÇ ÇÁ·Ï½ÃÀÔ´Ï´Ù.

  • (set|get)Request() (Àº)´Â, µð½ºÆÌÄ¡ 󸮷Π»ç¿ëÇÑ´Ù ¸®Äù½ºÆ® Ŭ·¡½º³ª ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤Çϰųª ÇöÀçÀÇ ¿ÀºêÁ§Æ®¸¦ ÃëµæÇϰųª ÇÕ´Ï´Ù. ¸®Äù½ºÆ® ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤ÇÒ °æ¿ì¿¡, Ŭ·¡½º¸íÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÁöÁ¤ÇÑ Å¬·¡½º ÆÄÀÏÀ» Àоîµé¿© ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

  • (set|get)Router() (Àº)´Â, µð½ºÆÌÄ¡ 󸮷Π»ç¿ëÇÑ´Ù ¶ó¿ìÅÍ Å¬·¡½º³ª ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤Çϰųª ÇöÀçÀÇ ¿ÀºêÁ§Æ®¸¦ ÃëµæÇϰųª ÇÕ´Ï´Ù. ¶ó¿ìÅÍ ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤ÇÒ °æ¿ì¿¡, Ŭ·¡½º¸íÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÁöÁ¤ÇÑ Å¬·¡½º ÆÄÀÏÀ» Àоîµé¿© ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

    ¶ó¿ìÅÍ ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÒ ¶§ , ¿ì¼± ¶ó¿ìÅͰ¡ Á¸ÀçÇÒÁö¸¦ Á¶»çÇØ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â µðÆúÆ®ÀÇ ¶ó¿ìÅÍ (rewrite ¶ó¿ìÅÍ) ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

  • (set|get)BaseUrl() (Àº)´Â, ¸®Äù½ºÆ®ÀÇ ·çÆÃ½Ã¿¡ URL (À¸)·ÎºÎÅÍ ¾ø¾Ø´Ù ±âÀú URL (À»)¸¦ ÁöÁ¤Çϰųª ÇöÀçÀÇ °ªÀ» ÃëµæÇϰųª ÇÕ´Ï´Ù. ÀÌ °ªÀº, ·çÆÃÀÇ Á÷Àü¿¡ ¸®Äù½ºÆ® ¿ÀºêÁ§Æ®¿¡°Ô °Ç³×Áý´Ï´Ù.

  • (set|get)Dispatcher() (Àº)´Â, µð½ºÆÌÄ¡ 󸮷Π»ç¿ëÇÑ´Ù µð½ºÆÖÃÄ Å¬·¡½º³ª ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤Çϰųª ÇöÀçÀÇ ¿ÀºêÁ§Æ®¸¦ ÃëµæÇϰųª ÇÕ´Ï´Ù. µð½ºÆÖÃÄ ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤ÇÒ °æ¿ì¿¡, Ŭ·¡½º¸íÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÁöÁ¤ÇÑ Å¬·¡½º ÆÄÀÏÀ» Àоîµé¿© ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

    µð½ºÆÖÃÄ ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÒ ¶§ , ¿ì¼± µð½ºÆÖÃİ¡ Á¸ÀçÇÒÁö¸¦ Á¶»çÇØ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â µðÆúÆ®ÀÇ µð½ºÆÖÃÄÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

  • (set|get)Response() (Àº)´Â, µð½ºÆÌÄ¡ 󸮷Π»ç¿ëÇÑ´Ù ¸®½ºÆù½º Ŭ·¡½º³ª ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤Çϰųª ÇöÀçÀÇ ¿ÀºêÁ§Æ®¸¦ ÃëµæÇϰųª ÇÕ´Ï´Ù. ¸®½ºÆù½º ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤ÇÒ °æ¿ì¿¡, Ŭ·¡½º¸íÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÁöÁ¤ÇÑ Å¬·¡½º ÆÄÀÏÀ» Àоîµé¿© ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

  • registerPlugin(Zend_Controller_Plugin_Abstract $plugin, $stackIndex = null) (Àº)´Â,Ç÷¯±× ÀÎ ¿ÀºêÁ§Æ® (À»)¸¦ µî·ÏÇÕ´Ï´Ù.¿É¼ÇÀÇ $stackIndex (À»)¸¦ ¼³Á¤Çϸé, Ç÷¯±× ÀÎÀÇ ½ÇÇà¼ø¼­¸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.

  • unregisterPlugin($plugin) (Àº)´Â, Ç÷¯±× ÀÎ ¿ÀºêÁ§Æ® ÀÇ µî·ÏÀ» ÇØÁ¦ÇÕ´Ï´Ù.$plugin ¿¡´Â Ç÷¯±× ÀÎ ¿ÀºêÁ§Æ® ±× ÀÚüÀΰ¡, ȤÀº Ç÷¯±× ÀÎÀÇ Å¬·¡½º¸íÀ» ³ªÅ¸³»´Â ¹®ÀÚ¿­À» ÁöÁ¤ÇÕ´Ï´Ù. ¿©±â¼­ ÁöÁ¤ÇÑ Ç÷¯±× ÀÎÀÇ µî·ÏÀ» ÇØÁ¦ÇÕ´Ï´Ù.

  • throwExceptions($flag) ±×¸®°í, µð½ºÆÌÄ¡ ½Ã¿¡ ¹ß»ýÇÑ ¿¹¿Ü¸¦ ½½·Î¿ì ÇÒÁö¸¦ ¹Ù²ß´Ï´Ù. µðÆúÆ®¿¡¼­´Â, ¿¹¿Ü´Â ½½·Î¿ì µÇÁö ¾Ê°í, ¸®½ºÆù½º ¿ÀºêÁ§Æ® ¿¡ º¸Á¸µË´Ï´Ù.throwExceptions() (À»)¸¦ ¿ÂÀ¸·Î Çϸé, ÀÌ °Åµ¿À» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.

    ÀÚ¼¼ÇÑ °ÍÀº Ç×7.12. ¡¸MVC (À¸)·ÎÀÇ ¿¹¿Ü¡¹ (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.

  • returnResponse($flag) (Àº)´Â, ÇÁ·±Æ® ÄÜÆ®·Ñ·¯°¡ dispatch() (À¸)·ÎºÎÅÍÀÇ ¸®½ºÆù½º¸¦ µ¹·ÁÁØ´Ù (true) Àΰ¡ ¸®½ºÆù½º¸¦ ÀÚµ¿ÀûÀ¸·Î ¹ßÇàÇÑ´Ù (false) ÀÎÁö¸¦ ¹Ù²ß´Ï´Ù.µðÆúÆ®¿¡¼­´Â, ¸®½ºÆù½º´Â (Zend_Controller_Response_Abstract::sendResponse() ¿¡ ÀÇÇØ¼­) ÀÚµ¿ÀûÀ¸·Î ¹ßÇàµË´Ï´Ù.returnResponse() (À»)¸¦ ¿ÂÀ¸·Î Çϸé, ÀÌ °Åµ¿À» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. behaviour.

    ¸®½ºÆù½º¸¦ µ¹·ÁÁÖµµ·Ï(µíÀÌ) ÇÏ´Â ÀÌÀ¯·Î¼­´Â, ½ÇÁ¦·Î ¹ßÇàÇϱâ Àü¿¡ ¿¹¿ÜÀÇ Ã¼Å©¸¦ ½Ç½ÃÇØ ÃæºÐÇØ ¸®½ºÆù½ºÀÇ Á¤º¸ (Çì´õ µî) (À»)¸¦ ·Î±×¿¡ ±â·ÏÇϰųª°¡ »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù.

7.3.4. ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ÀÇ ÆÄ¶ó¹ÌÅÍ

ÃÖÃÊ ÂÊÀ¸·Î, ÇÁ·±Æ® ÄÜÆ®·Ñ·¯´Â ·¹Áö½ºÆ®¸®¶ó°í ÇØµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù°í ¼³¸íÇß½À´Ï´Ù. ±× ¶§¿¡ »ç¿ëÇÏ´Â °ÍÀÌ "param" °èÀÇ ¸Þ¼Òµå±ºÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé, ÀÓÀÇÀÇ µ¥ÀÌÅÍ (¿ÀºêÁ§Æ®³ª º¯¼ö) (À»)¸¦ ÇÁ·±Æ® ÄÜÆ®·Ñ·¯¿¡ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. µî·ÏÇÑ µ¥ÀÌÅÍ´Â, µð½ºÆÌġüÀγ»ÀÇ ¾îµð¼­¿¡¼­µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °ªÀº, ¶ó¿ìÅͳª µð½ºÆÖÃÄ ±×¸®°í ¾×¼Ç ÄÜÆ®·Ñ·¯¿¡µµ °Ç³×¹Þ½À´Ï´Ù. °¢ ¸Þ¼Òµå¿¡ ´ëÇØ¼­, ÀÌÇÏ¿¡ Á¤¸®ÇÕ´Ï´Ù.

  • setParam($name, $value) (Àº)´Â, ÆÄ¶ó¹ÌÅÍ $name ÀÇ °ªÀ» $value (À¸)·Î ¼³Á¤ÇÕ´Ï´Ù.

  • setParams(array $params) (Àº)´Â, ¿¬»ó ¹è¿­À» »ç¿ëÇØ º¹¼öÀÇ ÆÄ¶ó¹ÌÅ͸¦ ÇÑ ¹øÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.

  • getParam($name) (Àº)´Â, $name ±×¸®°í ÁöÁ¤ÇÑ À̸§ÀÇ ÆÄ¶ó¹ÌÅÍÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù.

  • getParams() (Àº)´Â, ¸ðµç ÆÄ¶ó¹ÌÅÍÀÇ À϶÷À» ÇÑ ¹ø¿¡ ÃëµæÇÕ´Ï´Ù.

  • clearParams() (Àº)´Â, ´ÜÀÏÀÇ ÆÄ¶ó¹ÌÅÍ (¹®ÀÚ¿­·Î ÁöÁ¤ÇßÀ» °æ¿ì) Àΰ¡ º¹¼öÀÇ ÆÄ¶ó¹ÌÅÍ (¹®ÀÚ¿­ÀÇ ¹è¿­·Î ÁöÁ¤ÇßÀ» °æ¿ì), ¶Ç´Â ¸ðµç ÆÄ¶ó¹ÌÅÍ (¾Æ¹«°Íµµ ÁöÁ¤ÇÏÁö ¾Ê¾Ò´ø °æ¿ì) (À»)¸¦ ¼Ò°ÅÇÕ´Ï´Ù.

µð½ºÆÌġüÀγ»¿¡¼­ ƯÁ¤ÀÇ ¸ñÀûÀ¸·Î »ç¿ëÇϱâ À§Çؼ­, ¸î°³ÀÇ ÆÄ¶ó¹ÌÅͰ¡ »çÀü¿¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù.

  • useDefaultControllerAlways (Àº)´Â, µð½ºÆÌÄ¡ ÇÒ ¼ö ¾ø´Ù (¸ðµâ, ÄÜÆ®·Ñ·¯, ¾×¼ÇÁß ÇÑÂÊÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù) ¸®Äù½ºÆ®¿¡ ´ëÇØ¼­, µðÆúÆ® ¸ðµâÀÇ µðÆúÆ® ÄÜÆ®·Ñ·¯¿¡ µð½ºÆÌÄ¡ ÇÏ´Â µí µð½ºÆÖÃÄ ¿¡ Áö½ÃÇÕ´Ï´Ù.µðÆúÆ®¿¡¼­´Â ÀÌ ±â´ÉÀº ¹«È¿°¡ µÇ¾î ÀÖ½À´Ï´Ù.

    ÀÌ ¼³Á¤ÀÇ »ç¿ë¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº Ç×7.12.3. ¡¸MVC ±×¸®°í Á¶¿ìÇÒ ¿¹¿Ü¡¹ (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.

  • disableOutputBuffering (Àº)´Â, ¾×¼Ç ÄÜÆ®·Ñ·¯ÀÇ Ãâ·ÂÀ» ¹öÆÛ¸µ ÇÏÁö ¾Ê°Ô µð½ºÆÖÃÄ ¿¡ Áö½ÃÇÕ´Ï´Ù.µðÆúÆ®¿¡¼­´Â, µð½ºÆÖÃİ¡ ÀÏ´Ü ¸ðµç Ãâ·ÂÀ» ĸÃÄ Çϰí, ¸®½ºÆù½º ¿ÀºêÁ§Æ®¿¡ Ãß°¡Çϰí ÀÖ½À´Ï´Ù.

  • noViewRenderer (À»)¸¦ »ç¿ëÇϰí,ViewRenderer (À»)¸¦ ¹«È¿·Î ÇÕ´Ï´Ù.ÀÌ ÆÄ¶ó¹ÌÅ͸¦ true (À¸)·Î ¼³Á¤Çϸé, ¹«È¿°¡ µË´Ï´Ù.

  • noErrorHandler (À»)¸¦ »ç¿ëÇϰí, ¿¡·¯ Çڵ鷯 Ç÷¯±× ÀÎ (À»)¸¦ ¹«È¿·Î ÇÕ´Ï´Ù. ÀÌ ÆÄ¶ó¹ÌÅ͸¦ true (À¸)·Î ¼³Á¤Çϸé, ¹«È¿°¡ µË´Ï´Ù.

7.3.5. ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ÀÇ ¼­ºê Ŭ·¡½ºÀÇ ÀÛ¼º

ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ÀÇ ¼­ºê Ŭ·¡½º¸¦ ÀÛ¼ºÇÒ ¶§´Â, ÃÖÀúÇÑ getInstance() ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.


class My_Controller_Front extends Zend_Controller_Front
{
    public static function getInstance()
    {
        if (null === self::$_instance) {
            self::$_instance = new self();
        }

        return self::$_instance;
    }
}

getInstance() ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °ÍÀ¸·Î, ±× ÀÌÈÄÀÇ Zend_Controller_Front::getInstance() ÀÇ ÄÝÀÌ Zend_Controller_Front (Àº)´Â ¾Æ´Ï°í »õ·Î¿î ¼­ºê Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ µ¹·ÁÁÖ°Ô µË´Ï´Ù. À̰ÍÀº, µðÆúÆ® ÀÌ¿ÜÀÇ ¶ó¿ìÅͳª ºäÇïÆÛ¸¦ »ç¿ëÇÏ´Â °æ¿ì µî¿¡ Æí¸®ÇÕ´Ï´Ù.

¹«¾ùÀΰ¡ »õ·Î¿î ±â´É (¿¹¸¦ µé¾î Ç÷¯±× ÀÎÀÇ ÀÚµ¿ ·Î´õ³ª, ¾×¼Ç ÇïÆÛ ÆÐ½ºÀÇ ÁöÁ¤ ¹æ¹ý) (À»)¸¦ Ãß°¡ÇÏ°í ½Í´Ù°í ÇϹǷεµ ¾ø´Â ÇÑ, º¸ÅëÀº ÇÁ·±Æ® ÄÜÆ®·Ñ·¯ÀÇ ¼­ºê Ŭ·¡½º¸¦ ÀÛ¼ºÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ±× ¹Û¿¡ º¯°æÇÏ°í ½Í¾îÁö´Â °³¼Ò·Î¼­´Â, ÄÜÆ®·Ñ·¯ µð·ºÅ丮ÀÇ º¸Á¸ ¹æ¹ýÀ̳ª µðÆúÆ® ¶ó¿ìÅÍ/µðÆúÆ® µð½ºÆÖÃĸ¦ »ç¿ëÇÒÁöµîÀÌ ÀÖ°ÚÁö¿ä.