Client API
Every method on OpcUaClientInterface, grouped by concern. Use the topical operations pages to learn each call; this page is the alphabetical surface.
PhpOpcua\Client\OpcUaClientInterface — the public contract every
Client (real or mock) implements. Methods are grouped here by
concern; each links to the page that explains it in depth.
Lifecycle
Methods that observe or transition the connection state.
reconnect(): void
disconnect(): void
isConnected(): bool
getConnectionState(): ConnectionState
See Connection · Opening and closing.
Introspection
Discover the methods and modules the client exposes at runtime.
hasMethod(string \$name): bool
hasModule(string \$moduleClass): bool
getRegisteredMethods(): string[]
getLoadedModules(): class-string[]
Used by ManagedClient (in opcua-session-manager) and by callers
that branch on optional service-set availability. See Recipes ·
Detecting server capabilities.
Reading
Single and multi-node attribute reads.
read(NodeId|string \$nodeId, int \$attributeId = AttributeId::Value, bool \$refresh = false): DataValue
readMulti(?array \$readItems = null): array|ReadMultiBuilder
See Operations · Reading attributes.
Writing
Single and multi-node value writes.
write(NodeId|string \$nodeId, mixed \$value, ?BuiltinType \$type = null): int
writeMulti(?array \$writeItems = null): array|WriteMultiBuilder
See Operations · Writing values.
Browsing
Address-space navigation.
browse(NodeId|string \$nodeId, BrowseDirection \$direction = BrowseDirection::Forward, bool \$includeSubtypes = true, int \$nodeClassMask = 0, bool \$useCache = true): ReferenceDescription[]
browseAll(NodeId|string \$nodeId, BrowseDirection \$direction = BrowseDirection::Forward, bool \$includeSubtypes = true, int \$nodeClassMask = 0, bool \$useCache = true): ReferenceDescription[]
browseRecursive(NodeId|string \$nodeId, BrowseDirection \$direction = BrowseDirection::Forward, ?int \$maxDepth = null, ?NodeId \$referenceTypeId = null, bool \$includeSubtypes = true, array \$nodeClasses = []): array
browseWithContinuation(NodeId|string \$nodeId, ...): BrowseResultSet
browseNext(string \$continuationPoint): BrowseResultSet
Path resolution
Translate browse paths to NodeIds.
translateBrowsePaths(?array \$browsePaths = null): array|BrowsePathsBuilder
resolveNodeId(string \$path, NodeId|string|null \$startingNodeId = null, bool \$useCache = true): NodeId
See Operations · Resolving paths.
Method calls
Invoke server-side procedures.
call(NodeId|string \$objectId, NodeId|string \$methodId, array \$inputArguments = []): CallResult
See Operations · Calling methods.
Subscriptions
Server-pushed notifications via the publish loop.
createSubscription(float \$publishingInterval = 500.0, int \$lifetimeCount = 2400, int \$maxKeepAliveCount = 10, int \$maxNotificationsPerPublish = 0, bool \$publishingEnabled = true, int \$priority = 0): SubscriptionResult
deleteSubscription(int \$subscriptionId): int
publish(array \$acknowledgements = []): PublishResult
transferSubscriptions(array \$subscriptionIds, bool \$sendInitialValues = false): TransferResult[]
republish(int \$subscriptionId, int \$retransmitSequenceNumber): array
See Operations · Subscriptions.
Monitored items
Per-attribute and per-event observation.
createMonitoredItems(int \$subscriptionId, ?array \$items = null): MonitoredItemResult[]|MonitoredItemsBuilder
createEventMonitoredItem(int \$subscriptionId, NodeId|string \$nodeId, array \$selectFields = [...], int \$clientHandle = 1): MonitoredItemResult
modifyMonitoredItems(int \$subscriptionId, array \$itemsToModify): MonitoredItemModifyResult[]
deleteMonitoredItems(int \$subscriptionId, array \$monitoredItemIds): int[]
setTriggering(int \$subscriptionId, int \$triggeringItemId, array \$linksToAdd = [], array \$linksToRemove = []): SetTriggeringResult
See Operations · Monitored items.
History — read
Read stored historical data. Optional service set.
historyReadRaw(NodeId|string \$nodeId, ?DateTimeImmutable \$startTime = null, ?DateTimeImmutable \$endTime = null, int \$numValuesPerNode = 0, bool \$returnBounds = false): DataValue[]
historyReadProcessed(NodeId|string \$nodeId, DateTimeImmutable \$startTime, DateTimeImmutable \$endTime, float \$processingInterval, NodeId \$aggregateType): DataValue[]
historyReadAtTime(NodeId|string \$nodeId, array \$timestamps): DataValue[]
See Operations · History reads.
History — write
Insert, replace, update, and delete on raw values and on historical events. Optional service set; many servers do not implement it. Added in v4.4.0.
historyInsertData(NodeId|string \$nodeId, DataValue[] \$values): int[]
historyReplaceData(NodeId|string \$nodeId, DataValue[] \$values): int[]
historyUpdateData(NodeId|string \$nodeId, DataValue[] \$values): int[]
historyDeleteRawModified(NodeId|string \$nodeId, DateTimeImmutable \$startTime, DateTimeImmutable \$endTime, bool \$isDeleteModified = false): int
historyDeleteAtTime(NodeId|string \$nodeId, DateTimeImmutable[] \$timestamps): int[]
historyInsertEvent(NodeId|string \$nodeId, string[] \$selectFields, array \$eventData): int[]
historyReplaceEvent(NodeId|string \$nodeId, string[] \$selectFields, array \$eventData): int[]
historyUpdateEvent(NodeId|string \$nodeId, string[] \$selectFields, array \$eventData): int[]
historyDeleteEvent(NodeId|string \$nodeId, string[] \$eventIds): int[]
See Operations · History writes.
Node management
Mutate the address space. Optional service set.
addNodes(array \$nodesToAdd): AddNodesResult[]
deleteNodes(array \$nodesToDelete): int[]
addReferences(array \$referencesToAdd): int[]
deleteReferences(array \$referencesToDelete): int[]
See Operations · Managing nodes.
Discovery & server info
Endpoint discovery and well-known server-info shortcuts.
getEndpoints(string \$endpointUrl, bool \$useCache = true): EndpointDescription[]
discoverDataTypes(?int \$namespaceIndex = null, bool \$useCache = true): int
getServerProductName(): ?string
getServerManufacturerName(): ?string
getServerSoftwareVersion(): ?string
getServerBuildNumber(): ?string
getServerBuildDate(): ?DateTimeImmutable
getServerBuildInfo(): BuildInfo
Cache
Manual control over the PSR-16 cache.
getCache(): ?CacheInterface
invalidateCache(NodeId|string \$nodeId): void
flushCache(): void
Trust store
Per-client view of the configured trust store.
getTrustStore(): ?TrustStoreInterface
getTrustPolicy(): ?TrustPolicy
trustCertificate(string \$certDer): void
untrustCertificate(string \$fingerprint): void
Configuration accessors
Read-only views of the builder values frozen into this client.
getLogger(): LoggerInterface
getEventDispatcher(): EventDispatcherInterface
getExtensionObjectRepository(): ExtensionObjectRepository
getTimeout(): float
getAutoRetry(): int
getBatchSize(): ?int
getServerMaxNodesPerRead(): ?int
getServerMaxNodesPerWrite(): ?int
getDefaultBrowseMaxDepth(): int
These accessors are useful in middleware-style code that branches on the active configuration — testing infrastructure that injects a client and wants to verify the builder set the right defaults, mostly.
For the write side of these (the setters), see Builder API.