public setControllerObjectName ( string $unknownCasedControllerObjectName ) : void | ||
$unknownCasedControllerObjectName | string | The fully qualified controller object name |
return | void |
public function setControllerObjectName($unknownCasedControllerObjectName)
{
$controllerObjectName = $this->objectManager->getCaseSensitiveObjectName($unknownCasedControllerObjectName);
if ($controllerObjectName === false) {
throw new UnknownObjectException('The object "' . $unknownCasedControllerObjectName . '" is not registered.', 1268844071);
}
$this->controllerPackageKey = $this->objectManager->getPackageKeyByObjectName($controllerObjectName);
$matches = [];
$subject = substr($controllerObjectName, strlen($this->controllerPackageKey) + 1);
preg_match('/
^(
Controller
|
(?P<subpackageKey>.+)\\\\Controller
)
\\\\(?P<controllerName>[a-z\\\\]+)Controller
$/ix', $subject, $matches);
$this->controllerSubpackageKey = isset($matches['subpackageKey']) ? $matches['subpackageKey'] : null;
$this->controllerName = $matches['controllerName'];
}
/** * @test * @expectedException \Neos\Flow\ObjectManagement\Exception\UnknownObjectException */ public function setControllerObjectNameThrowsExceptionOnUnknownObjectName() { $mockObjectManager = $this->createMock(ObjectManagerInterface::class); $mockObjectManager->expects($this->any())->method('getCaseSensitiveObjectName')->will($this->returnValue(false)); $this->inject($this->actionRequest, 'objectManager', $mockObjectManager); $this->actionRequest->setControllerObjectName('SomeUnknownControllerObjectName'); }