Neos\Flow\Mvc\ActionRequest::setControllerObjectName PHP Метод

setControllerObjectName() публичный Метод

Explicitly sets the object name of the controller
public setControllerObjectName ( string $unknownCasedControllerObjectName ) : void
$unknownCasedControllerObjectName string The fully qualified controller object name
Результат 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'];
    }

Usage Example

 /**
  * @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');
 }
All Usage Examples Of Neos\Flow\Mvc\ActionRequest::setControllerObjectName