本文整理汇总了PHP中ReflectionObject::getInterfaces方法的典型用法代码示例。如果您正苦于以下问题:PHP ReflectionObject::getInterfaces方法的具体用法?PHP ReflectionObject::getInterfaces怎么用?PHP ReflectionObject::getInterfaces使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ReflectionObject
的用法示例。
在下文中一共展示了ReflectionObject::getInterfaces方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/** class constructor */
public function __construct()
{
if (!isset($this->tables)) {
$this->tables = self::getDBTables();
$this->views = self::getDBViews();
}
$this->objectID = str_replace(".", "", uniqid("", true));
$this->auditCfg = new stdClass();
$this->auditCfg->eventSource = 'GUI';
$this->auditCfg->logEnabled = true;
/*
Any supported import/Export Serialization Interface must be prefixed with iSerializationTo
so we can automatically detected the interfaces
*/
$prefix = "iSerializationTo";
$prefixLen = strlen($prefix);
$o = new ReflectionObject($this);
$interfaces = $o->getInterfaces();
$this->serializationInterfaces = null;
$this->serializationFormatDescriptors = null;
if ($interfaces) {
foreach ($interfaces as $name => $info) {
$iPos = strpos($name, $prefix);
if ($iPos === 0) {
$format = substr($name, $prefixLen);
$this->serializationInterfaces[$name] = $format;
$pfn = "getFormatDescriptionFor" . $format;
$this->serializationFormatDescriptors[$format] = $this->{$pfn}();
}
}
}
$this->getSupportedSerializationFormatDescriptions();
}
示例2: var_dump
//.........这里部分代码省略.........
echo colorize(get_class($value) . '()', 'recursion', $background, $mode);
echo "\n";
} elseif (get_class($value) === 'Closure') {
$doDump_indent = colorize('|', 'lightgray', $background, $mode) . ' ';
echo str_repeat($doDump_indent, $indent + 1) . colorize('[\'' . ($webmode === true ? htmlentities($key) : $key) . '\']', 'varname', $background, $mode);
echo ' ' . colorize('=', 'black', $background, $mode) . ' ';
echo colorize(get_class($value) . '()', 'recursion', $background, $mode);
echo "\n";
} else {
$dodump($value, '[\'' . $key . '\']', $indent + 1);
}
continue;
}
$dodump($value, '[\'' . $key . '\']', $indent + 1);
}
echo str_repeat($doDump_indent, $indent) . colorize(')', 'lightgray', $background, $mode);
} elseif (is_string($var)) {
if (isset($params['error']) && $params['error'] === true) {
echo ' ' . colorize('=', 'black', $background, $mode) . ' ' . colorize('Error: ' . $fixDumpString($var_name, $var, $webmode), 'error', $background, $mode);
} else {
echo ' ' . colorize('=', 'black', $background, $mode) . ' ' . colorize('String(' . strlen($var) . ')', 'gray', $background, $mode) . ' ' . colorize('\'' . $fixDumpString($var_name, $var, $webmode) . '\'', 'string', $background, $mode);
}
} elseif (is_int($var)) {
echo ' ' . colorize('=', 'black', $background, $mode) . ' ' . colorize('Integer(' . strlen($var) . ')', 'gray', $background, $mode) . ' ' . colorize($var, 'int', $background, $mode);
} elseif (is_bool($var)) {
echo ' ' . colorize('=', 'black', $background, $mode) . ' ' . colorize('Boolean', 'gray', $background, $mode) . ' ' . colorize($var === true ? 'true' : 'false', 'bool', $background, $mode);
} elseif (is_object($var)) {
$class = new \ReflectionObject($var);
$parents = '';
if ($parent = $class->getParentClass()) {
$parents .= ' extends ' . $class->getParentClass()->name;
}
unset($parent);
$interfaces = $class->getInterfaces();
if (!empty($interfaces)) {
$parents .= ' implements ' . implode(', ', array_keys($interfaces));
}
unset($interfaces);
if ($var instanceof Iterator) {
echo ' ' . colorize('=>', 'black', $background, $mode) . ' ' . colorize($class->getName() . ' Object (Iterator)' . $parents, 'gray', $background, $mode) . "\n" . str_repeat($doDump_indent, $indent) . colorize('(', 'lightgray', $background, $mode) . "\n";
var_dump($var);
} else {
echo ' ' . colorize('=>', 'black', $background, $mode) . ' ' . colorize($class->getName() . ' Object' . $parents, 'gray', $background, $mode) . "\n" . str_repeat($doDump_indent, $indent) . colorize('(', 'lightgray', $background, $mode) . "\n";
$dblcheck = array();
foreach ((array) $var as $key => $value) {
if (!property_exists($var, $key)) {
$key = ltrim($key, "*");
if (substr($key, 0, strlen($class->getName())) === $class->getName()) {
$key = substr($key, strlen($class->getName()) + 1);
} else {
$parents = class_parents($var);
if (!empty($parents)) {
foreach ($parents as $parent) {
if (substr($key, 0, strlen($parent)) === $parent) {
$key = $parent . '->' . substr($key, strlen($parent) + 1);
}
}
}
}
}
$dblcheck[$key] = $value;
}
$reflect = new \ReflectionClass($var);
$constants = $reflect->getConstants();
if (!empty($constants)) {
foreach ($constants as $key => $value) {
示例3: buildFromObject
/**
* @param $param
* @param \ReflectionObject $reflection
*/
private function buildFromObject($param, $reflection = null)
{
foreach ($param as $key => $value) {
$this->object['Object default'][$key] = $value;
}
// Get info on the object
$this->object['Reflection']['In namespace'] = $reflection->inNamespace() ? 'Yes' : 'No';
if ($reflection->inNamespace()) {
$this->object['Class namespace'] = $reflection->getNamespaceName();
}
$this->object['Reflection']['Class name'] = $reflection->getName();
$this->object['Reflection']['Is internal'] = $reflection->isInternal() ? 'Yes' : 'No';
$this->object['Reflection']['Is iterable'] = $reflection->isIterateable() ? 'Yes' : 'No';
$this->object['Reflection']['Is abstract'] = $reflection->isAbstract() ? 'Yes' : 'No';
$this->object['Reflection']['Is final'] = $reflection->isFinal() ? 'Yes' : 'No';
$this->object['Reflection']['Is user defined'] = $reflection->isUserDefined() ? 'Yes' : 'No';
$this->object['Reflection']['Is instantiable'] = $reflection->isInstantiable() ? 'Yes' : 'No';
$this->object['Reflection']['Is clonable'] = $reflection->isCloneable() ? 'Yes' : 'No';
$this->object['Reflection']['Is interface'] = $reflection->isInterface() ? 'Yes' : 'No';
$this->object['Reflection']['Class constants'] = !empty($reflection->getConstants()) ? $reflection->getConstants() : 'Class has no constants';
$this->object['Reflection']['Class static properties'] = !empty($reflection->getStaticProperties()) ? $reflection->getStaticProperties() : 'Class has no static properties';
$this->object['Reflection']['Class default properties'] = !empty($reflection->getDefaultProperties()) ? $reflection->getDefaultProperties() : 'Class has no default properties';
if (null === $reflection->getConstructor()) {
$this->object['Reflection']['Class construct'] = 'Class has no construct.';
} else {
$this->object['Reflection']['Class construct'] = $reflection->getConstructor();
}
$this->object['Reflection']['Class interfaces'] = !empty($reflection->getInterfaces()) ? $reflection->getInterfaces() : 'Class implements no interfaces';
$this->object['Reflection']['Class traits'] = !empty($reflection->getTraits()) ? $reflection->getTraits() : 'Class has no traits';
$this->object['Reflection']['Class parent'] = $reflection->getParentClass() !== false ? $reflection->getParentClass() : 'Class has no parent';
if (false === $reflection->getFileName()) {
$this->object['Reflection']['Defined in'] = 'Class is internal, no definition to provide.';
} else {
$this->object['Reflection']['Defined in'] = $reflection->getFileName();
}
if (false === $reflection->getFileName()) {
$this->object['Reflection']['Start line'] = 'Class is internal, no start line to provide.';
} else {
$this->object['Reflection']['Start line'] = $reflection->getFileName();
}
if (false === $reflection->getEndLine()) {
$this->object['Reflection']['End line'] = 'Class is internal, no end line to provide.';
} else {
$this->object['Reflection']['End line'] = $reflection->getEndLine();
}
if (false === $reflection->getDocComment()) {
$this->object['Reflection']['Doc comments'] = 'No documents to provide.';
} else {
$this->object['Reflection']['Doc comments'] = $reflection->getDocComment();
}
// End get info
$this->html .= "<span class=\"js-parent-object\">";
if (!empty($this->object['Object default'])) {
$this->html .= "<div class=\"js-object-default-tab \"><button class=\"button-reflection button\">Show reflection</button></div>";
$this->html .= "<div class=\"js-object-default \">";
$this->buildFromObjectIterationInformationRecursive($this->object['Object default']);
$this->html .= "</div>";
}
if ($param instanceof \Closure) {
$this->html .= "<div class=\"js-object-default-tab \"><button class=\"button-reflection button\">Show reflection</button></div>";
$this->html .= "<div class=\"js-object-default \">";
$this->html .= "<span class=\"css-type-string\">Nothing here...</span>";
$this->html .= "</div>";
}
$this->html .= "<div class=\"js-object-reflection-tab hide\"><button class=\"button-class-default button\">Show default</button></div>";
$this->html .= "<div class=\"js-object-reflection hide\">";
$this->buildFromObjectReflectionInformationRecursive($this->object['Reflection']);
$this->html .= "</div>";
$this->html .= "</span>";
$this->object = [];
}
示例4: _getInterfaceReflection
/**
* Get a ReflectionObject for a service interface from a
* ReflectionObject for a service implementation
*
* @param ReflectionObject $reflection The reflection for the service
* implementation
* @param string $interface_name The service interface name
*
* @return ReflectionObject The reflection for the service interface
*/
private function _getInterfaceReflection($reflection, $interface_name)
{
foreach ($reflection->getInterfaces() as $interface_reflection) {
if ($interface_reflection->getName() == $interface_name) {
return $interface_reflection;
}
}
return null;
}