本文整理汇总了PHP中Nette\Reflection\ClassType::isSubclassOf方法的典型用法代码示例。如果您正苦于以下问题:PHP ClassType::isSubclassOf方法的具体用法?PHP ClassType::isSubclassOf怎么用?PHP ClassType::isSubclassOf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nette\Reflection\ClassType
的用法示例。
在下文中一共展示了ClassType::isSubclassOf方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadDefinitions
private function loadDefinitions(ContainerBuilder $builder)
{
$classes = $this->robotLoader->getIndexedClasses();
$markerInterface = new ClassType(IServiceMarker::class);
foreach ($classes as $key => $val) {
if (Strings::endsWith($key, 'Service')) {
$reflection = new ClassType($key);
$serviceName = '_auto.' . str_replace("\\", "_", $key);
if (!$reflection->isAbstract() && $reflection->isSubclassOf($markerInterface)) {
$builder->addDefinition($serviceName)->setClass($key);
}
}
}
}
示例2: findConstructorDaoParameters
/**
* Returns all parameters of the constructor which type is dao object.
*
* @param string $class
* @return array array of parameter's names
*/
private function findConstructorDaoParameters($class)
{
$reflection = new Reflection($class);
$daoParameters = array();
foreach ($reflection->constructor->parameters as $parameter) {
$parameterClass = $parameter->getClassName();
if ($parameterClass) {
$parameterReflection = new Reflection($parameterClass);
if ($parameterReflection->getName() === self::DAO_CLASS || $parameterReflection->isSubclassOf(self::DAO_CLASS)) {
$daoParameters[] = $parameter->getName();
}
}
}
return $daoParameters;
}