# assistant/0.3.1/backend/src/System/Container/StandardReflector.php

Assistant – Every Day Productivity Apps, version 0.3.1. 41 lines.

- Page: https://pluginprobe.com/plugins/assistant/0.3.1/code/backend/src/System/Container/StandardReflector.php
- Raw: https://pluginprobe.com/plugins/assistant/0.3.1/raw/backend/src/System/Container/StandardReflector.php
- Modified: 2020-03-25T19:33:50+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/assistant/0.3.1/code/backend/src/System/Container/StandardReflector.php#L10-L20`.

```php
<?php

namespace FL\Assistant\System\Container;

class StandardReflector implements Reflector {

	public function getClass( $class ) {
		return new \ReflectionClass( $class );
	}

	public function getCtor( $class ) {
		$reflectionClass = new \ReflectionClass( $class );

		return $reflectionClass->getConstructor();
	}

	public function getCtorParams( $class ) {
		return ( $reflectedCtor = $this->getCtor( $class ) )
			? $reflectedCtor->getParameters()
			: null;
	}

	public function getParamTypeHint( \ReflectionFunctionAbstract $function, \ReflectionParameter $param ) {
		return ( $reflectionClass = $param->getClass() )
			? $reflectionClass->getName()
			: null;
	}

	public function getFunction( $functionName ) {
		return new \ReflectionFunction( $functionName );
	}

	public function getMethod( $classNameOrInstance, $methodName ) {
		$className = is_string( $classNameOrInstance )
			? $classNameOrInstance
			: get_class( $classNameOrInstance );

		return new \ReflectionMethod( $className, $methodName );
	}
}

```
