Download the PHP package techdock/opcua without Composer
On this page you can find all versions of the php package techdock/opcua. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download techdock/opcua
More information about techdock/opcua
Files in techdock/opcua
Package opcua
Short Description Modern OPC UA Client for PHP 8.4+ - PHP implementation based on OPC Foundation UA-.NETStandard architecture
License MIT
Homepage https://github.com/TECHDOCK-CH/php-opc-ua
Informations about the package opcua
PHP OPC UA Client
Modern, production-ready OPC UA (Unified Architecture) client library for PHP 8.4+. This library is a PHP implementation of OPC UA client functionality based on the architecture and design of the OPC Foundation UA-.NETStandard implementation. While maintaining wire-protocol compatibility and following the same design patterns, this is an independent implementation adapted for PHP 8.4+ with full type safety and modern language features.
Features
-
Complete OPC UA Client Implementation
- Binary protocol (opc.tcp://) with full UA services
- Secure channel with encryption (Basic256Sha256)
- Session management with automatic reconnection
- Certificate-based authentication
-
High-Level API
- Fluent ClientBuilder for easy configuration
- Browse address space with filtering
- Read/write nodes with type safety
- Subscriptions and monitored items
- Event monitoring and alarms
-
Performance Optimizations
- LRU caching for node metadata
- Automatic batch splitting for large operations
- Server capability detection
- Connection pooling ready
- Production Ready
- PSR-3 logging integration
- Comprehensive error handling
- Type-safe throughout (PHP 8.4 strict types)
- PHPStan level 9 compliant
- Extensive test coverage
Quick Start
Installation
Basic Usage
With Performance Features
Monitoring Data Changes
Documentation
- Getting Started - Installation and first steps
- ClientBuilder Guide - Configuration API reference
- Browsing - Exploring the address space
- Reading & Writing - Data operations
- Subscriptions - Real-time data monitoring
- Security - Certificates and authentication
- Performance - Optimization strategies
- API Reference - Complete API documentation
- Examples - 20+ working examples
Requirements
- PHP 8.4 or higher
- ext-sockets - Socket communication
- OpenSSL support - For secure connections
Supported Features
| Feature | Status |
|---|---|
| TCP Binary Protocol | ✅ Full |
| Secure Channel | ✅ Basic256Sha256, None |
| Session Management | ✅ Create, Activate, Close |
| Browse Services | ✅ Full with continuation |
| Read/Write Services | ✅ Multiple nodes |
| Subscriptions | ✅ Data change, Events |
| Method Calls | ✅ Full support |
| Historical Data | ✅ ReadRaw, ReadProcessed |
| Type System | ✅ Built-in + Custom structures |
| Certificate Auth | ✅ X.509 certificates |
| Username Auth | ✅ Username/password |
| Anonymous Auth | ✅ Full support |
Architecture
Testing
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Security
For security vulnerabilities, please see SECURITY.md.
License
This project is licensed under the MIT License - see LICENSE file for details.
For complete attribution and licensing information, see NOTICE.
Credits
Developed by TechDock
Attribution
This library is a PHP implementation of OPC UA client functionality based on the architecture and design of the OPC Foundation UA-.NETStandard implementation. The original C#/.NET implementation provides the architectural foundation and design patterns for this PHP adaptation.
Original Project:
- Repository: OPCFoundation/UA-.NETStandard
- License: Dual-license (RCL for OPC Foundation members, GPL 2.0 for non-members)
- Copyright: OPC Foundation
This PHP Implementation:
- Scope: Client-only implementation (no server functionality)
- Approach: Independent implementation following the same architectural patterns
- Protocol: 100% wire-compatible with OPC UA binary protocol specification
- Code: Adapted to PHP 8.4+ idioms, type system, and modern language features
- Size: Approximately 35-40% of the .NET core stack code volume
- License: MIT License (as an independent implementation)
Key Differences:
- Client-only (UA-.NETStandard includes both client and server)
- Hand-written message classes (vs. code-generated from XML schemas)
- Focused on core client features (Browse, Read, Write, Subscribe, Call)
- PHP-native approach using readonly classes, union types, and match expressions
We are deeply grateful to the OPC Foundation and the UA-.NETStandard contributors for their excellent reference implementation that made this PHP client possible.
Special thanks to:
- The OPC Foundation for the OPC UA specification and reference implementations
- The UA-.NETStandard development team for their well-architected codebase
- All contributors to open-source OPC UA projects
See NOTICE for complete attribution and licensing details.
Resources
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
All versions of opcua with dependencies
ext-sockets Version *
phpseclib/phpseclib Version ^3.0
psr/log Version ^3.0
psr/simple-cache Version ^3.0
wapmorgan/binary-stream Version ^0.4
symfony/cache Version ^7.0
brick/date-time Version ^0.7
monolog/monolog Version ^3.0