jord-jd / php-base-search
Base interfaces/classes for searcher and search results
Fund package maintenance!
v4.1.0
2026-07-18 04:28 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: ^7.5||^9.6||^10.5||^11.5||^12.5
Replaces
- divineomega/php-base-search: v4.1.0
This package is auto-updated.
Last update: 2026-07-18 04:29:29 UTC
README
Shared contracts and a reusable result value object for PHP search packages.
Installation
composer require jord-jd/php-base-search
Implementing a searcher
Implement SearcherInterface and return an array of SearchResultInterface
objects. SearchResult is provided for searchers that do not need extra
provider-specific fields.
use JordJD\BaseSearch\Interfaces\SearcherInterface; use JordJD\BaseSearch\SearchResult; final class DocumentationSearcher implements SearcherInterface { public function search(string $query): array { return [ new SearchResult( 'Installation', 'Install the package with Composer.', 'https://example.com/docs/installation', 1.0 ), ]; } }
Consuming results
Every result exposes getTitle(), getDescription(), getUrl(), and
getScore(). The supplied SearchResult also supports toArray() and native
JSON serialization:
$result = $searcher->search('installation')[0]; echo $result->getTitle(); echo json_encode($result);
The package supports PHP 7.1 through current PHP 8.x releases.