Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Php Client Bundle Laravel Package

elastification/php-client-bundle

Symfony bundle that integrates the Elastification PHP Elasticsearch client, with configurable HTTP or Thrift transports, native/JMS serializers, and ready-made index, search, document, and cat repositories.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Legacy client consolidation / replacement decision. This package is the strongest signal for a replace, don't adopt call: Elasticsearch 1.4.1 in the sample config, Guzzle pinned <7.0, Thrift as a first-class transport, and a Symfony2 bundle structure put it firmly in the 2014–2015 era. If your roadmap includes any Elasticsearch upgrade to 5.x/6.x/7.x/8.x, this is a hard blocker rather than a dependency to evaluate.
  • Build vs. buy — already decided against buying. The useful product question it surfaces is whether you need an abstraction layer at all. Its one genuinely reusable idea is the serializer/repository configuration surface (search_repository_serializer_dic_id, index_repository_serializer_dic_id, document_repository_serializer_dic_id). That is a product requirement worth capturing in your own design: "search, index, and document operations should be independently serializable/swappable" — then satisfy it with the official elasticsearch/elasticsearch client instead of this bundle.
  • Transport strategy. The http-vs-Thrift toggle is a decision this package forces you to make explicitly. Thrift transport was removed from Elasticsearch in 5.0; retaining a Thrift option in a spec means committing to a frozen ES major version. That is a roadmap constraint, not a feature.
  • Framework fit scoping. This is a Symfony2 bundle, not a Laravel package. Bundles register via AppKernel and app/config.yml — there is no service provider, no config/*.php, no facades. For a Laravel codebase the integration work is effectively a rewrite, which changes the cost line in any build-vs-buy math.
  • Use cases that justify a wrapper at all. Only two tend to hold up: (a) you need to swap Elasticsearch hosts/clusters per environment with strict schema validation of that config, and (b) you need a stable internal API so application code doesn't import vendor client classes directly. Both are cheap to implement directly and don't require a third-party bundle.

When to Consider This Package

Adoption criteria — realistically, this is only defensible when all of the following are true:

  • You are on Symfony 2.x and have no plan to leave it within the next 12 months (end-of-life since 2018; security support ended 2019).
  • You are running Elasticsearch 1.x on-premise and have no upgrade path funded on the roadmap.
  • You accept no upstream maintenance: 0 stars, 0 dependents, no releases beyond a <1.0 constraint, and a README-only maturity rating. Treat it as vendored source you own, not a dependency.
  • You specifically need the Thrift transport, which is its only differentiator versus writing a thin ClientBuilder wrapper yourself.

Look elsewhere in every other case. Concretely:

  • Laravel projects — wrong framework entirely; use elasticsearch/elasticsearch with a service provider, or Elasticquent/laravel-scout-elastic if you want an ORM-ish or Scout-integrated surface.
  • Any Elasticsearch 7.x/8.x target — the official PHP client is the only sane choice; this bundle's config surface doesn't model modern auth, TLS, API keys, or multiple nodes.
  • Any Symfony 3.4+ project — use FOSElasticaBundle (actively maintained, Symfony-configurable) or the official client with a named-autowiring service definition.
  • Compliance-sensitive work — an unmaintained dependency with zero dependents and no security response process is an audit finding. MIT license is fine; the absence of a maintainer is not.
  • Teams without PHP-2014 archaeology capacity — if nobody on the team has debugged a Guzzle 5-era client, the support cost lands on you.

How to Pitch It (Stakeholders)

For executives: I recommend we do not adopt this package. It is a Symfony2-era Elasticsearch wrapper last aligned with Elasticsearch 1.4 — roughly a decade behind current releases — with no active maintainers and no downstream users. Adopting it would tie our search feature to an unsupported stack and make any future Elasticsearch upgrade a rewrite. There is no cost saving here; it shifts cost from build to maintenance and audit risk. If we already depend on it, I'd like a line item in the next planning cycle to replace it with the official client. Cost of replacement is measured in days, not quarters, because it is a thin config-and-repository layer rather than a deep integration.

For engineering: The only asset worth keeping is its configuration ergonomics — per-operation serializer selection across search, index, and document repositories, plus explicit http/Thrift transport choice. We should reimplement that shape in about a day on top of elasticsearch/elasticsearch, using the framework's native config and DI. Two caveats to be explicit about: (1) it's a Symfony bundle, so for our Laravel codebase the AppKernel registration and app/config.yml examples are not portable — treat this as design reference, not a dependency; (2) the Thrift transport option is a dead end since it was removed in Elasticsearch 5.0, so do not carry that choice forward into our own design. The Guzzle <7.0 pin also conflicts with anything resembling a modern dependency tree, which will surface as a resolution error the moment we try to install it alongside current packages — expect that as the first blocker, not a late surprise.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core