1<?php 2/** 3 * php-mecab/examples 4 * show module dependencies, ini entries, constants, functions 5 * and methods provided by mecab extension (use ReflectionExtension) 6 * charset=utf-8 7 */ 8 9require_once dirname(__FILE__) . '/common.inc.php'; 10 11$linebreak = PHP_EOL . PHP_EOL; 12 13$reflector = new ReflectionExtension('mecab'); 14$mapper = create_function('$m', 'return $m->getName();'); 15 16border(); 17 18echo 'Module dependencies:', $linebreak; 19print_r($reflector->getDependencies()); 20 21border(); 22 23echo 'INI entries:', $linebreak; 24print_r($reflector->getINIEntries()); 25 26border(); 27 28echo 'Constants:', $linebreak; 29print_r($reflector->getConstants()); 30 31border(); 32 33echo 'Functions:', $linebreak; 34print_r(array_keys($reflector->getFunctions())); 35 36border(); 37 38echo 'Classes:', $linebreak; 39$classes = array(); 40foreach ($reflector->getClasses() as $className => $class) { 41 $classes[$className] = array( 42 'interfaces' => null, 43 'constants' => $class->getConstants(), 44 'properties' => $class->getProperties(), 45 'methods' => array_map($mapper, $class->getMethods()), 46 ); 47 if (method_exists($class, 'getInterfaceNames')) { 48 $classes[$className]['interfaces'] = $class->getInterfaceNames(); 49 } else { 50 $classes[$className]['interfaces'] = array_keys($class->getInterfaces()); 51 } 52} 53print_r($classes); 54 55border(); 56