- Can I install printdeal/pandosearch-bundle in a Laravel application?
- Not directly. It is a Symfony bundle that registers services through a Bundle class, a DependencyInjection extension, compiler passes, and YAML or XML service definitions, none of which Laravel's container or package discovery (extra.laravel.providers) understands. Composer will download it, but Laravel will never load it without you writing a port. In practice, adopting it in Laravel means rewriting its internals as a service provider.
- Is printdeal/pandosearch-bundle still maintained?
- No. The repository has been archived since 2018, has no active maintainer, and shows zero dependents on Packagist. There are no recent releases, no issue triage, and no security patching. Treat any dependency on it as unmaintained code that you now own.
- Does printdeal/pandosearch-bundle support PHP 8 and Laravel 10 or 11?
- There is no indication that it does. The bundle predates PHP 8 and modern Symfony container semantics, so its Composer constraints almost certainly target PHP 7-era Symfony versions and an old Guzzle or PHP-HTTP client. Even if Composer resolves it, Laravel version support is moot because the package is not a Laravel package at all.
- What is PandoSearch and is the API still available?
- PandoSearch was a Dutch site-search SaaS vendor, and this bundle is a thin client wrapper around its HTTP API. Print.nl and Printdeal are a Dutch print-fulfilment business, and the bundle was archived in 2018. There is no published API contract, no SLA, and no evidence the upstream service is still operated. Before spending any engineering time, confirm you have a live, credentialed endpoint you can hit today.
- What would it take to port this Symfony bundle to Laravel?
- Roughly a rewrite of its wiring: a PandosearchServiceProvider, a publishable config file, a client built on Laravel's HTTP client or Guzzle, and a small Searchable trait for indexing Eloquent models. That is on the order of a couple hundred lines and is straightforward. The hard part is not the port, it is that you would be porting a client for an unverified, likely dead upstream API.
- Will printdeal/pandosearch-bundle cause Composer dependency conflicts in my Laravel project?
- Very likely. A 2018-era bundle typically pins old Symfony components and an outdated Guzzle or PHP-HTTP version, which conflicts with what current Laravel and PHP 8.x projects require. Composer may resolve it in isolation but fail alongside your existing dependencies. Even when resolution succeeds, you inherit unpatched transitive packages.
- Does printdeal/pandosearch-bundle work with Laravel Scout?
- No. Laravel Scout expects a driver that implements its Engine contract and plugs into the Scout service provider, and this bundle provides neither. It is a Symfony bundle with no Scout driver, no facade, and no Eloquent hooks. If you want Scout-style indexing, you would have to write a custom engine around the PandoSearch API yourself.
- What are good alternatives to PandoSearch for search in Laravel?
- For most Laravel applications, Meilisearch or Typesense via Laravel Scout give you faceting, typo tolerance, and autocomplete with first-party drivers. Algolia is the managed option if budget allows, Elasticsearch or OpenSearch fit large faceted catalogues, and Postgres full-text search is a solid zero-vendor fallback. All of them are actively maintained and have documented contracts, which PandoSearch does not.
- Is it safe to run printdeal/pandosearch-bundle in production?
- It carries real risk. An archived repository with no maintainer means no security patches, and its HTTP client was written to a 2018 threat model while sending queries and possibly credentials to a third-party endpoint. On top of that, the vendor's availability and authentication scheme are unverifiable today. A silently broken or hijacked search endpoint is a live attack surface, not a theoretical one.
- How do I test search indexing and querying if I port this to Laravel?
- If you write your own Laravel-native client, you get testability for free: use Http::fake() to stub PandoSearch responses and assert the outgoing request payload, and use Queue::fake() to verify that indexing jobs are dispatched. With the original Symfony bundle you get none of that, since there is no Laravel HTTP client, no facade, and no container binding to swap in tests. That testability gap alone usually justifies the rewrite.