Zend_Server_Reflection
(Àº)´Â, ¼¹ö Ŭ·¡½º±ºÀ¸·Î
ÇÔ¼ö³ª Ŭ·¡½ºÀÇ ³»¿ëÀ» ¾Ë±â À§ÇÑ Ç¥ÁØÀûÀÎ ±¸Á¶¸¦ Á¦°øÇÕ´Ï´Ù.
PHP 5 ÀÇ ¸®Ç÷º¼Ç API (À»)¸¦ ±âÃÊ·Î ÇØ¼ È®ÀåÇÑ °ÍÀÔ´Ï´Ù.
ÆÄ¶ó¹ÌÅͳª µ¹¾Æ°¡ °ªÀÇ ÇüÅÂ¿Í ¼³¸íÀÇ Ãëµæ, ÇÔ¼ö³ª ¸Þ¼ÒµåÀÇ ÇÁ·ÎÅä ŸÀÔÀÇ À϶÷
(Áï, ¸ðµç È£ÃâÇØ °¡´ÉÇÑ ¹æ¹ý) ÀÇ Ãëµæ, ÇÔ¼ö/¸Þ¼Òµå
ÀÇ ¼³¸íÀÇ Ãëµæµîµµ °¡´ÉÇÕ´Ï´Ù.
ÀÌ ±â´ÉÀº, üÁ¦¿ëÀÇ ¼¹ö Ŭ·¡½º±ºÀÇ °³¹ßÀÚ¸¸ÀÌ »ç¿ëÇÕ´Ï´Ù.
±âº»ÀûÀÎ »ç¿ë¹ýÀº °£´ÜÇÕ´Ï´Ù.
<?php
require_once 'Zend/Server/Reflection.php';
$class = Zend_Server_Reflection::reflectClass('My_Class');
$function = Zend_Server_Reflection::reflectFunction('my_function');
// ÇÁ·ÎÅä ŸÀÔÀ» ÃëµæÇÕ´Ï´Ù
$prototypes = $reflection->getPrototypes();
// °¢ ÇÁ·ÎÅä ŸÀÔÀ» ó¸®ÇÕ´Ï´Ù
foreach ($prototypes as $prototype) {
// µ¹¾Æ°¡ °ªÀÇ ÇüŸ¦ ÃëµæÇÕ´Ï´Ù
echo "µ¹¾Æ°¡ °ªÀÇ ÇüÅÂ: ", $prototype->getReturnType(), "n";
// ÆÄ¶ó¹ÌÅ͸¦ ÃëµæÇÕ´Ï´Ù
$parameters = $prototype->getParameters();
echo "ÆÄ¶ó¹ÌÅÍ: n";
foreach ($parameters as $parameter) {
// ÆÄ¶ó¹ÌÅÍÀÇ ÇüŸ¦ ÃëµæÇÕ´Ï´Ù
echo " ", $parameter->getType(), "n";
}
}
// Ŭ·¡½º, ÇÔ¼ö ȤÀº ¸Þ¼ÒµåÀÇ À̸§ °ø°£À» ÃëµæÇÕ´Ï´Ù.
// À̸§ °ø°£Àº, ÀνºÅϽº ÀÛ¼º½Ã (µÎ¹øÂ°ÀÇ Àμö) ȤÀº
// setNamespace() ±×¸®°í ¼³Á¤ÇÕ´Ï´Ù.
$reflection->getNamespace();
reflectFunction()
ÇÏ
Zend_Server_Reflection_Function
¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
reflectClass
ÇÏ
Zend_Server_Reflection_Class
¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
ÀÌ·¯ÇÑ ¿ÀºêÁ§Æ®·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¸Þ¼Òµå¿¡ ´ëÇØ¼´Â
API ¹®¼¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.