public function getCommandByObjectId($objectId, $method = "view", $requestType = "id") { if ($objectId == "") { throw new Exception("Missing Parameter objectId."); } $extensions = $this->getExtensionByType("IObjectExtension"); $idRequestObject = new IdRequestObject(); $idRequestObject->setId($objectId); $idRequestObject->setMethod($method); $idRequestObject->setRequestType($requestType); //TODO: sort extensions by priority foreach ($extensions as $extension) { $command = $extension->getCommandByObjectId($idRequestObject, $method, $requestType); if (isset($command) && $command instanceof ICommand) { return $command; } } return false; }