【发布时间】:2016-12-12 05:36:49
【问题描述】:
对不起,如果这是一个新手问题。我刚刚习惯了 PHP 的反射 API 和独立于框架的命名空间。
我有这个代码:
<?php # Script 3.4 - index.php
require_once __DIR__.'/vendor/autoload.php';
use App\ApptEncoder;
use App\BloggsApptEncoder;
use App\MegaApptEncoder;
$userDefinedClasses = array_filter(
get_declared_classes(),
function($className) {
return call_user_func(
array(new ReflectionClass($className), 'isUserDefined')
);
}
);
echo('<pre>' . var_dump($userDefinedClasses) . '</pre>');
稍后在脚本中我调用 ApptEncoder、BloggsApptEncoder 和 MegaApptEncoder,它们确实有效。但是在这个 var_dump 中,它们没有显示。 它显示的只是:
/home/vagrant/code/ullman/index.php:20:
array (size=2)
174 => string 'ComposerAutoloaderInit9447e6ccfd181a47ff4686960bd95f38' (length=54)
175 => string 'Composer\Autoload\ClassLoader' (length=29)
【问题讨论】:
标签: php reflection dependencies autoloader