PHPackages                             kennisnet/edurepsearch - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. kennisnet/edurepsearch

ActiveLibrary[Search &amp; Filtering](/categories/search)

kennisnet/edurepsearch
======================

Edurep and Catalogservice search tool

1.0.7(3y ago)15.0k↓100%5[3 PRs](https://github.com/kennisnet/phpEdurepSearch/pulls)MITPHPPHP ^7.3||^8.1CI passing

Since Feb 14Pushed 3mo ago8 watchersCompare

[ Source](https://github.com/kennisnet/phpEdurepSearch)[ Packagist](https://packagist.org/packages/kennisnet/edurepsearch)[ RSS](/packages/kennisnet-edurepsearch/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (5)Versions (14)Used By (0)

phpEdurepSearch
===============

[](#phpedurepsearch)

This is a PHP package for searching with the Edurep or Edurep CatalogService search engines. In Edurep you can search in NLLOM metadata records, where you can search in CatalogService Entry metadata records in the CatalogService. Detailed API instructions for the respective services can be found here (in Dutch):

- [nllom](https://developers.wiki.kennisnet.nl/index.php?title=Edurep:LOM_SearchRetrieve)
- [catalogservice](https://developers.wiki.kennisnet.nl/index.php?title=CS:Entry_SearchRetrieve)

usage
-----

[](#usage)

To distinguish between the different endpoints, different *strategies* can be used.

- EdurepStrategyType
- CatalogusStrategyType

Each strategy is combined with the endpoint host to create the class configuration:

- (edurep)
- (catalogservice)

example
-------

[](#example)

While a full *example.php* file is available, a smaller example is shown here:

```
$strategy = new \Kennisnet\Edurep\EdurepStrategyType();
$config = new \Kennisnet\Edurep\DefaultSearchConfig($strategy, "https://wszoeken.edurep.kennisnet.nl/");
$edurep = new \Kennisnet\Edurep\EdurepSearch($config);

$edurep
    # set search terms
    # should be provided urldecoded, the class will encode it
    ->setQuery("math")

    # set another default record schema
    # default lom
    ->setRecordSchema("oai_dc")

    # set to return drilldowns, default none
    ->setXtermDrilldown("lom.technical.format:5,lom.rights.cost:2")

    # set to return an additional recordschema
    # can be called multiple times
    ->addXRecordSchema("smbAggregatedData")
;

# perform a search for lom records
$response = $edurep->search('lom');

print $edurep->getRequestUrl();

print $response;
```

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance54

Moderate activity, may be stable

Popularity26

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 83.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~110 days

Recently: every ~127 days

Total

8

Last Release

1237d ago

PHP version history (2 changes)1.0.0PHP ^7.3

1.0.7PHP ^7.3||^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/3d5ba0d19fd97386ecc8e71a479f33fd1bc47f20b151c52c04c091faf3be186d?d=identicon)[kennisnet](/maintainers/kennisnet)

---

Top Contributors

[![wimmuskee](https://avatars.githubusercontent.com/u/1087783?v=4)](https://github.com/wimmuskee "wimmuskee (83 commits)")[![soufianekhallouki](https://avatars.githubusercontent.com/u/56916722?v=4)](https://github.com/soufianekhallouki "soufianekhallouki (5 commits)")[![DerrickToppert](https://avatars.githubusercontent.com/u/2121585?v=4)](https://github.com/DerrickToppert "DerrickToppert (4 commits)")[![gewooneendeveloper](https://avatars.githubusercontent.com/u/302548?v=4)](https://github.com/gewooneendeveloper "gewooneendeveloper (4 commits)")[![khallouki](https://avatars.githubusercontent.com/u/3285427?v=4)](https://github.com/khallouki "khallouki (2 commits)")[![ZwaarContrast](https://avatars.githubusercontent.com/u/1869392?v=4)](https://github.com/ZwaarContrast "ZwaarContrast (1 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/kennisnet-edurepsearch/health.svg)

```
[![Health](https://phpackages.com/badges/kennisnet-edurepsearch/health.svg)](https://phpackages.com/packages/kennisnet-edurepsearch)
```

###  Alternatives

[ruflin/elastica

Elasticsearch Client

2.3k50.4M202](/packages/ruflin-elastica)[opensearch-project/opensearch-php

PHP Client for OpenSearch

15024.3M64](/packages/opensearch-project-opensearch-php)[mailerlite/laravel-elasticsearch

An easy way to use the official PHP ElasticSearch client in your Laravel applications.

934529.3k2](/packages/mailerlite-laravel-elasticsearch)[massive/search-bundle

Massive Search Bundle

721.4M13](/packages/massive-search-bundle)[shyim/opensearch-php-dsl

OpenSearch/Elasticsearch DSL library

175.9M9](/packages/shyim-opensearch-php-dsl)[outl1ne/nova-multiselect-filter

Multiselect filter for Laravel Nova.

45802.7k3](/packages/outl1ne-nova-multiselect-filter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
