Skip to content

zestic/weaviate-client-component

Repository files navigation

Weaviate Client Component for Laminas

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published