| [ Index ] |
PHP Cross Reference of Akelos Framework |
[Summary view] [Print] [Text view]
1 <?php 2 require_once (AK_LIB_DIR.DS.'AkReflection.php'); 3 require_once (AK_LIB_DIR.DS.'AkReflection'.DS.'AkReflectionClass.php'); 4 5 class AkReflectionFile extends AkReflection 6 { 7 var $filename; 8 var $classes=array(); 9 var $functions=array(); 10 var $interfaces=array(); 11 var $requires=array(); 12 var $includes=array(); 13 function AkReflectionFile($file_name) 14 { 15 $this->filename = $file_name; 16 if (file_exists($file_name)) { 17 $this->_parse(file_get_contents($file_name)); 18 } else { 19 20 } 21 $this->_parseDefinitions(); 22 } 23 24 function _parseDefinitions() 25 { 26 foreach($this->definitions as $key=>$definition) { 27 if (isset($definition['type'])) { 28 switch ($definition['type']) { 29 case 'class': 30 $this->classes[] = new AkReflectionClass($definition); 31 break; 32 } 33 } else { 34 switch ($key) { 35 case 'require_once': 36 case 'require': 37 $this->requires = array_merge($this->requires,$definition); 38 break; 39 case 'include_once': 40 case 'include': 41 $this->includes = array_merge($this->includes,$definition); 42 break; 43 } 44 } 45 } 46 } 47 function getClasses($options = null) 48 { 49 50 if ($options == null) { 51 return $this->classes; 52 } else if (is_array($options)) { 53 $default_options = array(); 54 $available_options = array('visibility','tags'); 55 $parameters = array('available_options'=>$available_options); 56 Ak::parseOptions(&$options,$default_options,$parameters); 57 $returnClasses = array(); 58 foreach ($this->classes as $class) { 59 if (isset($options['visibility']) && $class->getVisibility()!=$options['visibility']) { 60 continue; 61 } 62 if (isset($options['tags'])) { 63 $options['tags']=!is_array($options['tags'])?array($options['tags']):$options['tags']; 64 $docBlock = $method->getDocBlock(); 65 foreach($options['tags'] as $tag) { 66 if ($docBlock->getTag($tag)==false) continue; 67 } 68 } 69 $returnClasses[] = $class; 70 71 } 72 return $returnClasses; 73 } 74 } 75 76 function getFunctions() 77 { 78 return $this->functions; 79 } 80 function getInterfaces() 81 { 82 return $this->interfaces; 83 } 84 85 function getIncludes() 86 { 87 return $this->includes; 88 } 89 90 function getRequires() 91 { 92 return $this->requires; 93 } 94 } 95 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Mon Oct 27 12:43:49 2008 | Cross-referenced by PHPXref 0.6 |