opcua-client · v4.3.x
Docs · Reference

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.

method · public
returns void
reconnect(): void
method · public
returns void
disconnect(): void
method · public
returns bool
isConnected(): bool
method · public
returns ConnectionState
getConnectionState(): ConnectionState

See Connection · Opening and closing.

Introspection

Discover the methods and modules the client exposes at runtime.

method · public
returns bool
hasMethod(string \$name): bool
method · public
returns bool
hasModule(string \$moduleClass): bool
method · public
returns string[]
getRegisteredMethods(): string[]
method · public
returns class-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.

method · public
returns DataValue
read(NodeId|string \$nodeId, int \$attributeId = AttributeId::Value, bool \$refresh = false): DataValue
method · public
returns DataValue[] or ReadMultiBuilder
readMulti(?array \$readItems = null): array|ReadMultiBuilder

See Operations · Reading attributes.

Writing

Single and multi-node value writes.

method · public
returns int (StatusCode)
write(NodeId|string \$nodeId, mixed \$value, ?BuiltinType \$type = null): int
method · public
returns int[] or WriteMultiBuilder
writeMulti(?array \$writeItems = null): array|WriteMultiBuilder

See Operations · Writing values.

Browsing

Address-space navigation.

method · public
returns ReferenceDescription[]
browse(NodeId|string \$nodeId, BrowseDirection \$direction = BrowseDirection::Forward, bool \$includeSubtypes = true, int \$nodeClassMask = 0, bool \$useCache = true): ReferenceDescription[]
method · public
returns ReferenceDescription[]
browseAll(NodeId|string \$nodeId, BrowseDirection \$direction = BrowseDirection::Forward, bool \$includeSubtypes = true, int \$nodeClassMask = 0, bool \$useCache = true): ReferenceDescription[]
method · public
returns array
browseRecursive(NodeId|string \$nodeId, BrowseDirection \$direction = BrowseDirection::Forward, ?int \$maxDepth = null, ?NodeId \$referenceTypeId = null, bool \$includeSubtypes = true, array \$nodeClasses = []): array
method · public
returns BrowseResultSet
browseWithContinuation(NodeId|string \$nodeId, ...): BrowseResultSet
method · public
returns BrowseResultSet
browseNext(string \$continuationPoint): BrowseResultSet

See Operations · Browsing.

Path resolution

Translate browse paths to NodeIds.

method · public
returns BrowsePathResult[] or BrowsePathsBuilder
translateBrowsePaths(?array \$browsePaths = null): array|BrowsePathsBuilder
method · public
returns NodeId
resolveNodeId(string \$path, NodeId|string|null \$startingNodeId = null, bool \$useCache = true): NodeId

See Operations · Resolving paths.

Method calls

Invoke server-side procedures.

method · public
returns CallResult
call(NodeId|string \$objectId, NodeId|string \$methodId, array \$inputArguments = []): CallResult

See Operations · Calling methods.

Subscriptions

Server-pushed notifications via the publish loop.

method · public
returns SubscriptionResult
createSubscription(float \$publishingInterval = 500.0, int \$lifetimeCount = 2400, int \$maxKeepAliveCount = 10, int \$maxNotificationsPerPublish = 0, bool \$publishingEnabled = true, int \$priority = 0): SubscriptionResult
method · public
returns int (StatusCode)
deleteSubscription(int \$subscriptionId): int
method · public
returns PublishResult
publish(array \$acknowledgements = []): PublishResult
method · public
returns TransferResult[]
transferSubscriptions(array \$subscriptionIds, bool \$sendInitialValues = false): TransferResult[]
method · public
returns array
republish(int \$subscriptionId, int \$retransmitSequenceNumber): array

See Operations · Subscriptions.

Monitored items

Per-attribute and per-event observation.

method · public
returns MonitoredItemResult[] or MonitoredItemsBuilder
createMonitoredItems(int \$subscriptionId, ?array \$items = null): MonitoredItemResult[]|MonitoredItemsBuilder
method · public
returns MonitoredItemResult
createEventMonitoredItem(int \$subscriptionId, NodeId|string \$nodeId, array \$selectFields = [...], int \$clientHandle = 1): MonitoredItemResult
method · public
returns MonitoredItemModifyResult[]
modifyMonitoredItems(int \$subscriptionId, array \$itemsToModify): MonitoredItemModifyResult[]
method · public
returns int[]
deleteMonitoredItems(int \$subscriptionId, array \$monitoredItemIds): int[]
method · public
returns SetTriggeringResult
setTriggering(int \$subscriptionId, int \$triggeringItemId, array \$linksToAdd = [], array \$linksToRemove = []): SetTriggeringResult

See Operations · Monitored items.

History — read

Read stored historical data. Optional service set.

method · public
returns DataValue[]
historyReadRaw(NodeId|string \$nodeId, ?DateTimeImmutable \$startTime = null, ?DateTimeImmutable \$endTime = null, int \$numValuesPerNode = 0, bool \$returnBounds = false): DataValue[]
method · public
returns DataValue[]
historyReadProcessed(NodeId|string \$nodeId, DateTimeImmutable \$startTime, DateTimeImmutable \$endTime, float \$processingInterval, NodeId \$aggregateType): DataValue[]
method · public
returns 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.

method · public
returns int[] (per-entry StatusCode)
historyInsertData(NodeId|string \$nodeId, DataValue[] \$values): int[]
method · public
returns int[] (per-entry StatusCode)
historyReplaceData(NodeId|string \$nodeId, DataValue[] \$values): int[]
method · public
returns int[] (per-entry StatusCode)
historyUpdateData(NodeId|string \$nodeId, DataValue[] \$values): int[]
method · public
returns int (overall StatusCode)
historyDeleteRawModified(NodeId|string \$nodeId, DateTimeImmutable \$startTime, DateTimeImmutable \$endTime, bool \$isDeleteModified = false): int
method · public
returns int[] (per-timestamp StatusCode)
historyDeleteAtTime(NodeId|string \$nodeId, DateTimeImmutable[] \$timestamps): int[]
method · public
returns int[] (per-event StatusCode)
historyInsertEvent(NodeId|string \$nodeId, string[] \$selectFields, array \$eventData): int[]
method · public
returns int[] (per-event StatusCode)
historyReplaceEvent(NodeId|string \$nodeId, string[] \$selectFields, array \$eventData): int[]
method · public
returns int[] (per-event StatusCode)
historyUpdateEvent(NodeId|string \$nodeId, string[] \$selectFields, array \$eventData): int[]
method · public
returns int[] (per-EventId StatusCode)
historyDeleteEvent(NodeId|string \$nodeId, string[] \$eventIds): int[]

See Operations · History writes.

Node management

Mutate the address space. Optional service set.

method · public
returns AddNodesResult[]
addNodes(array \$nodesToAdd): AddNodesResult[]
method · public
returns int[]
deleteNodes(array \$nodesToDelete): int[]
method · public
returns int[]
addReferences(array \$referencesToAdd): int[]
method · public
returns int[]
deleteReferences(array \$referencesToDelete): int[]

See Operations · Managing nodes.

Discovery & server info

Endpoint discovery and well-known server-info shortcuts.

method · public
returns EndpointDescription[]
getEndpoints(string \$endpointUrl, bool \$useCache = true): EndpointDescription[]
method · public
returns int
discoverDataTypes(?int \$namespaceIndex = null, bool \$useCache = true): int
method · public
returns ?string
getServerProductName(): ?string
method · public
returns ?string
getServerManufacturerName(): ?string
method · public
returns ?string
getServerSoftwareVersion(): ?string
method · public
returns ?string
getServerBuildNumber(): ?string
method · public
returns ?DateTimeImmutable
getServerBuildDate(): ?DateTimeImmutable
method · public
returns BuildInfo
getServerBuildInfo(): BuildInfo

Cache

Manual control over the PSR-16 cache.

method · public
returns ?CacheInterface
getCache(): ?CacheInterface
method · public
returns void
invalidateCache(NodeId|string \$nodeId): void
method · public
returns void
flushCache(): void

See Observability · Caching.

Trust store

Per-client view of the configured trust store.

method · public
returns ?TrustStoreInterface
getTrustStore(): ?TrustStoreInterface
method · public
returns ?TrustPolicy
getTrustPolicy(): ?TrustPolicy
method · public
returns void
trustCertificate(string \$certDer): void
method · public
returns void
untrustCertificate(string \$fingerprint): void

See Security · Trust store.

Configuration accessors

Read-only views of the builder values frozen into this client.

method · public
returns LoggerInterface
getLogger(): LoggerInterface
method · public
returns EventDispatcherInterface
getEventDispatcher(): EventDispatcherInterface
method · public
returns ExtensionObjectRepository
getExtensionObjectRepository(): ExtensionObjectRepository
method · public
returns float
getTimeout(): float
method · public
returns int
getAutoRetry(): int
method · public
returns ?int
getBatchSize(): ?int
method · public
returns ?int
getServerMaxNodesPerRead(): ?int
method · public
returns ?int
getServerMaxNodesPerWrite(): ?int
method · public
returns 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.