zestic/weaviate-client-component

Laminas/Mezzio integration component for the Weaviate PHP client with dependency injection, multiple client support, and comprehensive configuration

v0.1.2 2025-07-31 12:51 UTC

This package is auto-updated.

Last update: 2025-07-31 12:53:06 UTC


README

Tests Lint codecov PHP Version License

A modern Laminas/Mezzio integration component for the Weaviate PHP client with dependency injection, multiple client support, and comprehensive configuration.

Features

  • ๐Ÿš€ 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

Requirements

  • PHP 8.3 or higher
  • Laminas ServiceManager 3.22+
  • PSR-11 Container implementation

Installation

Install via Composer:

composer require zestic/weaviate-client-component

Quick Start

  1. Copy the configuration template:
cp vendor/zestic/weaviate-client-component/config/weaviate.global.php.dist config/autoload/weaviate.local.php
  1. Configure your Weaviate connection in config/autoload/weaviate.local.php

  2. Register the ConfigProvider in your application configuration

  3. Inject the WeaviateClient into your services

Testing

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.

Documentation

Contributing

Please see CONTRIBUTING.md for details on how to contribute to this project.

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Support

Related Projects