PHPackages                             fusani/movies - 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. fusani/movies

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

fusani/movies
=============

Search for movies / TV shows

0.4.4(9y ago)080PHPPHP &gt;=5.4.0

Since Apr 27Pushed 7y agoCompare

[ Source](https://github.com/lokisapocalypse/movies)[ Packagist](https://packagist.org/packages/fusani/movies)[ RSS](/packages/fusani-movies/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (3)Versions (35)Used By (0)

PHP movie repository
====================

[](#php-movie-repository)

This project provides various repositories and methods for searching for movies or TV shows. For your convenience, I've provided a factory to create a repository. If you'd prefer a more hands on approach, you are free to build your own adapter class. You simply need to ensure your adapter implements the Fusani\\Movies\\Infrastructure\\Provider\\Adapter interface.

This is very much an alpha version and is probably not production ready yet.

Creating a repository
---------------------

[](#creating-a-repository)

There are two ways to create a repository. The simplest way is to use the provided factory.

```
use Fusani\Movies\Infrastructure\Persistence\OMDB;
$factory = new OMDB\MovieRepositoryFactory();
$repository = $factory->createRepository();

```

The other way to create a repository is to implement your own adapter and pass that in to the repository. This should be done if you prefer to use something other than Guzzle or you would like your adapter to do additional things either before or after the api call.

If you do this approach, you need to consider two things.

1. Your adapter class needs to implement Fusani\\Movies\\Infrastructure\\Provider\\Adapter
2. Your get method needs to return an array instead of json or xml

Using the repository
--------------------

[](#using-the-repository)

Any method beginning with oneOf\* will either return a Movie object or throw a NotFoundException. Methods beginning with manyWith\* will return an array of Movie objects or an empty array in the event that no movies were found for the provided search. There are a few need to knows for each of the search methods.

### manyEpisodesOf

[](#manyepisodesof)

### manyWithTitleLike

[](#manywithtitlelike)

This method will return any movie matching the title provided. The api implementation will only return the first 10 results and does not support returning more rows. It does support pagination but that is not implemented at this time.

### oneOfId

[](#oneofid)

Here, id represents an internal imdb id.

### oneOfTitle

[](#oneoftitle)

This will return exactly one movie. In the event that more than one movie shares a title (Romeo and Juliet) for example, this will still only return one title. There is an optional year parameter that will allow you to be more specific about which movie you are looking for.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~10 days

Recently: every ~22 days

Total

32

Last Release

3380d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0698aa71349c5da4de5faa59dcc4a5b03b4ee7ebdb2195ffe34214da330d10b0?d=identicon)[lokisapocalypse](/maintainers/lokisapocalypse)

---

Top Contributors

[![lokisapocalypse](https://avatars.githubusercontent.com/u/397582?v=4)](https://github.com/lokisapocalypse "lokisapocalypse (117 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/fusani-movies/health.svg)

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

###  Alternatives

[aws/aws-sdk-php

AWS SDK for PHP - Use Amazon Web Services in your PHP project

6.2k532.1M2.5k](/packages/aws-aws-sdk-php)[neuron-core/neuron-ai

The PHP Agentic Framework.

2.0k496.1k34](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3661.2M46](/packages/tencentcloud-tencentcloud-sdk-php)[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k12](/packages/tempest-framework)[algolia/algoliasearch-magento-2

Algolia Search &amp; Discovery extension for Magento 2

1881.9M17](/packages/algolia-algoliasearch-magento-2)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

252.5k](/packages/eslazarev-wildberries-sdk)

PHPackages © 2026

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