Каждый объект в иерархии отражений PHP имеет статический метод экспорта.Вы можете использовать это, чтобы получить строковое представление класса.Код наподобие этого
$c = new ReflectionClass('Mage_Core_Model_Abstract');
ReflectionClass::export($c)
будет повторять следующее обратно
Class [ <internal:Reflection> class ReflectionClass implements Reflector ] {
- Constants [3] {
Constant [ integer IS_IMPLICIT_ABSTRACT ] { 16 }
Constant [ integer IS_EXPLICIT_ABSTRACT ] { 32 }
Constant [ integer IS_FINAL ] { 64 }
}
- Static properties [0] {
}
- Static methods [1] {
Method [ <internal:Reflection> static public method export ] {
- Parameters [2] {
Parameter #0 [ <required> $argument ]
Parameter #1 [ <optional> $return ]
}
}
}
- Properties [1] {
Property [ <default> public $name ]
}
- Methods [43] {
Method [ <internal:Reflection> final private method __clone ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection, ctor> public method __construct ] {
- Parameters [1] {
Parameter #0 [ <required> $argument ]
}
}
Method [ <internal:Reflection> public method __toString ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getName ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method isInternal ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method isUserDefined ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method isInstantiable ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getFileName ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getStartLine ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getEndLine ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getDocComment ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getConstructor ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method hasMethod ] {
- Parameters [1] {
Parameter #0 [ <required> $name ]
}
}
Method [ <internal:Reflection> public method getMethod ] {
- Parameters [1] {
Parameter #0 [ <required> $name ]
}
}
Method [ <internal:Reflection> public method getMethods ] {
- Parameters [1] {
Parameter #0 [ <optional> $filter ]
}
}
Method [ <internal:Reflection> public method hasProperty ] {
- Parameters [1] {
Parameter #0 [ <required> $name ]
}
}
Method [ <internal:Reflection> public method getProperty ] {
- Parameters [1] {
Parameter #0 [ <required> $name ]
}
}
Method [ <internal:Reflection> public method getProperties ] {
- Parameters [1] {
Parameter #0 [ <optional> $filter ]
}
}
Method [ <internal:Reflection> public method hasConstant ] {
- Parameters [1] {
Parameter #0 [ <required> $name ]
}
}
Method [ <internal:Reflection> public method getConstants ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getConstant ] {
- Parameters [1] {
Parameter #0 [ <required> $name ]
}
}
Method [ <internal:Reflection> public method getInterfaces ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getInterfaceNames ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method isInterface ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method isAbstract ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method isFinal ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getModifiers ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method isInstance ] {
- Parameters [1] {
Parameter #0 [ <required> $object ]
}
}
Method [ <internal:Reflection> public method newInstance ] {
- Parameters [1] {
Parameter #0 [ <required> $args ]
}
}
Method [ <internal:Reflection> public method newInstanceArgs ] {
- Parameters [1] {
Parameter #0 [ <optional> array $args ]
}
}
Method [ <internal:Reflection> public method getParentClass ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method isSubclassOf ] {
- Parameters [1] {
Parameter #0 [ <required> $class ]
}
}
Method [ <internal:Reflection> public method getStaticProperties ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getStaticPropertyValue ] {
- Parameters [2] {
Parameter #0 [ <required> $name ]
Parameter #1 [ <optional> $default ]
}
}
Method [ <internal:Reflection> public method setStaticPropertyValue ] {
- Parameters [2] {
Parameter #0 [ <required> $name ]
Parameter #1 [ <required> $value ]
}
}
Method [ <internal:Reflection> public method getDefaultProperties ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method isIterateable ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method implementsInterface ] {
- Parameters [1] {
Parameter #0 [ <required> $interface ]
}
}
Method [ <internal:Reflection> public method getExtension ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getExtensionName ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method inNamespace ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getNamespaceName ] {
- Parameters [0] {
}
}
Method [ <internal:Reflection> public method getShortName ] {
- Parameters [0] {
}
}
}
}
Что это за формат?Если внутренняя команда PHP разработала что-то произвольное или это известный формат, который может быть проанализирован другими хорошо известными инструментами программирования?
Чтобы пояснить, я знаю, что такое отражение и как его использовать.Что меня интересует, так это формат «экспорта», который преднамеренно разработан, но НЕ является действительным PHP.Это какой-то стандартный формат CS / программирования или что-то особенное для PHP?