Zend_View (Àº)´Â, ¸ðµ¨ - ºä - ÄÜÆ®·Ñ·¯ ÆÐÅÏ¿¡ ÀÖ¾î¼ÀÇ ¡¸ºä¡¹·Î¼ ÀÏÇϴ Ŭ·¡½ºÀÔ´Ï´Ù. ºäÀÇ ½ºÅ©¸³Æ®¸¦, ¸ðµ¨ ¹× ÄÜÆ®·Ñ·¯·ÎºÎÅÍ ºÐ¸®Çϱâ À§Çؼ Á¸ÀçÇÕ´Ï´Ù. ÀÌ Å¬·¡½º¿¡¼´Â, ÇïÆÛ ½Ã½ºÅÛ, Ãâ·ÂÀÇ ÇÊÅ͸µ ¹× º¯¼öÀÇ À̽ºÄÉÀÌÇÁ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.
Zend_View (Àº)´Â, ÅÛÇø´ ½Ã½ºÅÛ¿¡ ´ëÇØ¼´Â ƯÈ÷ Á¶°ÇÀº ¾ø½À´Ï´Ù. ÅÛÇø´ ¾ð¾î·Î¼ PHP (À»)¸¦ »ç¿ëÇÏ´ÂÁö, ȤÀº ´Ù¸¥ ÅÛÇø´ ¿£ÁøÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇϰí, ±×°ÍÀ» ºä½ºÅ©¸³Æ® Áß(¾È)¿¡¼ Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
±âº»ÀûÀ¸·Î,Zend_View (À»)¸¦ »ç¿ëÇÒ ¶§ 2 °³ÀÇ ´Ü°è¸¦ Àâ°Ô µË´Ï´Ù. 1. ÄÜÆ®·Ñ·¯ ½ºÅ©¸³Æ®°¡ Zend_View ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇØ, ±× ÀνºÅϽº¿¡ º¯¼ö¸¦ ´ëÀÔÇÕ´Ï´Ù. 2. ÄÜÆ®·Ñ·¯°¡ Zend_View ¿¡ ´ëÇØ¼ ÀûÀýÇÑ ºä¸¦ ·»´õ¸µ Çϵµ·Ï(µíÀÌ) Áö½ÃÇØ, °Å±â¿¡ µû¶ó ÄÜÆ®·Ñ·¯°¡ ºä½ºÅ©¸³Æ®¸¦ Á¦¾îÇÕ´Ï´Ù. °Å±â¼ ºäÀÇ Ãâ·ÂÀÌ ÀÛ¼ºµË´Ï´Ù.
´Ü¼øÇÑ ¿¹·Î¼ Ã¥ÀÇ À϶÷À» Ãë±ÞÇÏ´Â ÄÜÆ®·Ñ·¯°¡ ÀÖ±â·Î ÇսôÙ. ±× µ¥ÀÌÅ͸¦ ºä¿¡ Ç¥½ÃÇÏ´Â °ÍÀ» »ý°¢ÇÕ´Ï´Ù. ÄÜÆ®·Ñ·¯ ½ºÅ©¸³Æ®´Â, ¾Æ¸¶ ÀÌ¿Í °°ÀÌ µÇ°ÚÁö¿ä.
<?php
// Ã¥ÀÇ ÀúÀÚ ¹× ŸÀÌÆ²À» ÃëµæÇϱâ À§Çؼ ¸ðµ¨À» »ç¿ëÇÕ´Ï´Ù
$data = array(
array(
'author' => 'Hernando de Soto',
'title' => 'The Mystery of Capitalism'
),
array(
'author' => 'Henry Hazlitt',
'title' => 'Economics in One Lesson'
),
array(
'author' => 'Milton Friedman',
'title' => 'Free to Choose'
)
);
// Ã¥ÀÇ µ¥ÀÌÅ͸¦ Zend_View ÀνºÅϽº¿¡ ´ëÀÔÇÕ´Ï´Ù
Zend_Loader::loadClass('Zend_View');
$view = new Zend_View();
$view->books = $data;
// "booklist.php" ±×·¸´Ù°í ÇÏ´Â ºä½ºÅ©¸³Æ®¸¦ ·»´õ¸µ ÇÕ´Ï´Ù
echo $view->render('booklist.php');
´ÙÀ½¿¡ ÇÊ¿äÇÑ °ÍÀº, °ü·ÃÁþ´Â ºä½ºÅ©¸³Æ® "booklist.php" ÀÔ´Ï´Ù. À̰ÍÀº ÀϹÝÀûÀÎ PHP ½ºÅ©¸³Æ®¿Í °°½À´Ï´Ù¸¸, Çϳª¸¸ Â÷À̰¡ ÀÖ½À´Ï´Ù. Zend_View ÀνºÅϽºÀÇ ½ºÄÚÇÁ·Î ½ÇÇàµÇ´Â °ÍÀÔ´Ï´Ù. Áï $this ¿¡ÀÇ ÂüÁ¶´Â,Zend_View ÀÇ ÀνºÅϽºÀÇ ÇÁ·ÓÆÛƼ³ª ¸Þ¼Òµå¸¦ °¡¸®Å°°Ô µË´Ï´Ù (ÄÜÆ®·Ñ·¯¿¡ ÀÇÇØ¼ ÀνºÅϽº¿¡ ´ëÀÔµÈ º¯¼ö´Â, Zend_View ÀνºÅϽºÀÇ public ÇÁ·ÓÆÛƼ°¡ µË´Ï´Ù). µû¶ó¼, ±âº»ÀûÀÎ ºä½ºÅ©¸³Æ®´Â ÀÌ¿Í °°ÀÌ µË´Ï´Ù.
<?php if ($this->books): ?>
<!-- Ã¥ÀÇ À϶÷ -->
<table>
<tr>
<th>ÀúÀÚ</th>
<th>ŸÀÌÆ²</th>
</tr>
<?php foreach ($this->books as $key => $val): ?>
<tr>
<td><?php echo $this->escape($val['author']) ?></td>
<td><?php echo $this->escape($val['title']) ?></td>
</tr>
<?php endforeach; ?>
</table>
<?php else: ?>
<p>Ç¥½ÃÇϴ åÀÌ ¾ø½À´Ï´Ù.</p>
<?php endif;
º¯¼öÀÇ Ãâ·Â½Ã¿¡,"escape()" ¸Þ¼Òµå·Î À̽ºÄÉÀÌÇÁ 󸮸¦ Çϰí ÀÖ´Â °Í¿¡ ÁÖÀÇÇսôÙ.
Zend_View
ÀÇ ¿É¼ÇÀ» ¼³Á¤Çϸé,
ºä½ºÅ©¸³Æ®ÀÇ ÇൿÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.
basePath:
ÇÏ
½ºÅ©¸³Æ®³ª ÇïÆÛ, ±×¸®°í ÇÊÅ͸¦ ¹èÄ¡ÇÏ´Â ±âÀú ÆÐ½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
´ÙÀ½°ú °°Àº µð·ºÅ丮 ±¸¼ºÀ» »óÁ¤Çϰí ÀÖ½À´Ï´Ù.
base/path/
helpers/
filters/
scripts/
À̰ÍÀ» ¼³Á¤ÇÏ·Á¸é setBasePath()
Àΰ¡
addBasePath()
, ȤÀº constructor¡¡ ¡¡ ÀÇ ¿É¼Ç
basePath
(À»)¸¦ »ç¿ëÇÕ´Ï´Ù.
encoding:
ÇÏ htmlentities()
(ÀÌ)³ª
htmlspecialchars()
µî¿¡¼ »ç¿ëÇÏ´Â ¹®ÀÚ ÀÎÄÚµùÀ» ³ªÅ¸³À´Ï´Ù.
µðÆúÆ®´Â ISO-8859-1 (latin1) ÀÔ´Ï´Ù.
setEncoding()
Àΰ¡, constructor¡¡ ¡¡ ÀÇ ¿É¼Ç
encoding
±×¸®°í ¼³Á¤ÇÕ´Ï´Ù.
escape:
ÇÏ escape()
±×¸®°í »ç¿ëÇÏ´Â ÄݹéÀ» ³ªÅ¸³À´Ï´Ù.setEscape()
Àΰ¡, constructor¡¡ ¡¡ ÀÇ ¿É¼Ç escape
±×¸®°í ¼³Á¤ÇÕ´Ï´Ù.
filter:
(Àº)´Â, ºä½ºÅ©¸³Æ®¸¦ ·»´õ¸µ ÇÑ ´ÙÀ½¿¡ »ç¿ëÇÏ´Â ÇÊÅ͸¦ ³ªÅ¸³À´Ï´Ù.
setFilter()
Àΰ¡ addFilter()
,
ȤÀº constructor¡¡ ¡¡ ÀÇ ¿É¼Ç filter
±×¸®°í ¼³Á¤ÇÕ´Ï´Ù.
strictVars:
(Àº)´Â, ÃʱâÈÇϰí ÀÖÁö ¾Ê´Â º¯¼ö¿¡ Zend_View
(À¸)·ÎºÎÅÍ ¾×¼¼½º ÇÏ·Á°í ÇßÀ» ¶§¿¡ notice (ÀÌ)³ª warning (À»)¸¦ ¹ß»ý½Ã۵µ·Ï(µíÀÌ) ÇÕ´Ï´Ù.
strictVars(true)
Àΰ¡, ȤÀº constructor¡¡ ¡¡ ÀÇ ¿É¼Ç
strictVars
±×¸®°í ¼³Á¤ÇÕ´Ï´Ù.
Åë»óÀº,assign()
(¿Í)°ú render()
,
ȤÀº ÇÊÅÍ, ÇïÆÛ, ½ºÅ©¸³Æ®ÀÇ ÆÐ½º¿ëÀÇ ¼³Á¤ ¸Þ¼Òµå¸¸À¸·Î ÃæºÐÈ÷ ÃæºÐÇϰÚÁö¿ä.
±×·¯³ª,Zend_View
(À»)¸¦ µ¶ÀÚÀûÀ¸·Î È®ÀåÇÏ°í ½ÍÀº °æ¿ì³ª
±× ³»ºÎ¿¡ ¾×¼¼½º ÇÏ°í ½ÍÀº °æ¿ì¸¦ À§Çؼ, ÇÑÃþ ´õ ¸î°³ÀÇ ¸Þ¼Òµå¸¦ ÁغñÇϰí ÀÖ½À´Ï´Ù.
getVars()
(Àº)´Â, ¼³Á¤ ¶°³¯ ¼ö ÀÖ¾î ¸ðµç º¯¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.
clearVars()
(Àº)´Â, ¸ðµç º¯¼öÀÇ °ªÀ» ¼Ò°ÅÇÕ´Ï´Ù.
ºä½ºÅ©¸³Æ®¸¦ ÀçÀÌ¿ëÇÒ ¶§¿¡,
Áö±Ý±îÁö »ç¿ëÇϰí ÀÖ´ø º¯¼ö¸¦ ³²°Ü µÎ°í ½ÍÀ» ¶§ µî¿¡ Æí¸®ÇÕ´Ï´Ù.
getScriptPath($script)
(Àº)´Â, ÁöÁ¤ÇÑ ºä½ºÅ©¸³Æ®ÀÇ ÆÐ½º¸¦ ÃëµæÇÕ´Ï´Ù.
getScriptPaths()
(Àº)´Â, µî·ÏµÇ¾î ¸ðµç ½ºÅ©¸³Æ® ÆÐ½º¸¦ ÃëµæÇÕ´Ï´Ù.
script paths.
getHelperPath($helper)
(Àº)´Â, ÁöÁ¤ÇÑ ÇïÆÛ Ŭ·¡½ºÀÇ ÆÐ½º¸¦ ÃëµæÇÕ´Ï´Ù.
getHelperPaths()
(Àº)´Â, µî·ÏµÇ¾î ¸ðµç ÇïÆÛ ÆÐ½º¸¦ ÃëµæÇÕ´Ï´Ù.
getFilterPath($filter)
(Àº)´Â, ÁöÁ¤ÇÑ ÇÊÅÍ Å¬·¡½ºÀÇ ÆÐ½º¸¦ ÃëµæÇÕ´Ï´Ù.
getFilterPaths()
(Àº)´Â, µî·ÏµÇ¾î ¸ðµç ÇÊÅÍ ÆÐ½º¸¦ ÃëµæÇÕ´Ï´Ù.