typesense/typesense-php
Official PHP client for the Typesense search API. Install via Composer with an HTTPlug-compatible HTTP client, then manage collections, documents, and searches using the Typesense server API. Includes examples and safe filter string escaping.
Official PHP client for the Typesense API: https://github.com/typesense/typesense
composer require php-http/curl-client typesense/typesense-php
You can also add typesense/typesense-php to your project's composer.json.
Typesense uses HTTPlug as an abstraction layer for an HTTP client. You'll find the List of supported HTTP clients & adapters here. Please be sure to install a supported client.
Read the documentation here: https://typesense.org/api/
Here are some examples that walk you through how to use the client: doc/examples
Use Typesense\FilterBy::escapeString() to safely use string values in filter_by:
use Typesense\FilterBy;
$filterValue = "The 17\" O'Conner && O`Series \n OR a || 1%2 book? (draft), [alpha]";
$filterBy = 'tags:=' . FilterBy::escapeString($filterValue);
| Typesense Server | typesense-php |
|---|---|
| >= v30.0 | >= v6.0.0 |
| >= v28.0 | >= v5.0.0 |
| >= v26.0 | >= v4.9.0 |
| >= v0.23.0 | >= v4.8.0 |
| >= v0.21.0 | >= v4.7.0 |
| >= v0.20.0 | >= v4.6.0 |
| >= v0.19.0 | >= v4.5.0 |
| >= v0.18.0 | >= v4.4.0 |
| >= v0.17.0 | >= v4.2.0 |
| >= v0.16.0 | >= v4.1.0 |
| >= v0.15.0 | >= v4.0.0 |
Bug reports and pull requests are welcome on GitHub at [https://github.com/typesense/typesense-php].
Run linter:
composer run-script lint:fix
Run Typesense Server:
composer run-script typesenseServer
Run tests:
docker compose up
cp phpunit.xml.dist phpunit.xml
composer run-script test
This client was originally developed by Abdullah Al-Faqeir from DevLoops and was adopted as the official PHP client library for Typesense in Oct 2020.
Ongoing development and support is now provided by Typesense, in addition to our collaborators.
How can I help you explore Laravel packages today?