A modern Laminas/Mezzio integration component for the Weaviate PHP client with dependency injection, multiple client support, and comprehensive configuration.
- 🚀 Modern PHP 8.3+ - Leverages latest PHP features
- 🔧 ConfigProvider Integration - Seamless Laminas/Mezzio setup
- 🏭 Service Factories - Full dependency injection support
- 🔀 Multiple Clients - Support for multiple named Weaviate connections
- ⚙️ Type-Safe Configuration - Readonly configuration classes
- 🧪 Comprehensive Testing - Unit and integration tests
- 📚 Complete Documentation - Installation, configuration, and examples
- PHP 8.3 or higher
- Laminas ServiceManager 3.22+
- PSR-11 Container implementation
Install via Composer:
composer require zestic/weaviate-client-component
- Copy the configuration template:
cp vendor/zestic/weaviate-client-component/config/weaviate.global.php.dist config/autoload/weaviate.local.php
-
Configure your Weaviate connection in
config/autoload/weaviate.local.php
-
Register the ConfigProvider in your application configuration
-
Inject the WeaviateClient into your services
This project includes comprehensive testing with both unit and integration tests:
# Run all tests (unit only, integration tests skipped without Weaviate)
composer test
# Run all tests including integration tests (recommended)
composer test:with-weaviate
# Run only unit tests
composer test-unit
# Run only integration tests (requires Weaviate)
composer test-integration
Test Coverage: 148 tests total (136 unit + 12 integration)
See TESTING.md for detailed testing instructions.
Please see CONTRIBUTING.md for details on how to contribute to this project.
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
- zestic/weaviate-php-client - The core Weaviate PHP client