PHPackages                             ride/app-media - 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. ride/app-media

ActiveLibrary

ride/app-media
==============

Integration of the media library for a Ride application.

1.0.0(9y ago)04.6k1MITPHP

Since May 22Pushed 9y ago8 watchersCompare

[ Source](https://github.com/all-ride/ride-app-media)[ Packagist](https://packagist.org/packages/ride/app-media)[ RSS](/packages/ride-app-media/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (5)Versions (9)Used By (1)

Ride: Media Implementation
==========================

[](#ride-media-implementation)

This is the implementation of `ride/lib-media` in the Ride application layer.

The main interface if the `DependencyMediaFactory` which does the same as `ride\library\media\SimpleMediaFactory` except for the use of registered dependencies on media item factories. Check the README of `ride/lib-media` for further reference.

Parameters
----------

[](#parameters)

- **google.api.key**: API key for the google related api calls (Youtube, Geocode...)

Code reference
--------------

[](#code-reference)

Instead of manually adding MediaItem factories in the `createMediaItem` method, you can add them as a dependency, these can either be simple dependencies like eg. for the VimeoMediaItemFactory:

```
// ride/app-media/config/dependencies.json
{
    "dependencies": [
        // ...
        {
            "interfaces": "ride\\library\\media\\factory\\MediaItemFactory",
            "class": "ride\\library\\media\\factory\\VimeoMediaItemFactory",
            "id": "vimeo"
        }
        // ...
    ]
}
```

or you could add the clientId parameter, like eg. for the YoutubeMediaItemFactory:

```
// ride/app-media/config/dependencies.json
{
    "dependencies": [
        // ...
        {
            "interfaces": "ride\\library\\media\\factory\\MediaItemFactory",
            "class": "ride\\library\\media\\factory\\YoutubeMediaItemFactory",
            "id": "youtube",
            "calls": [
                {
                    "method": "setClientId",
                    "arguments": [
                        {
                            "name": "clientId",
                            "type": "parameter",
                            "properties": {
                                "key": "google.api.key"
                            }
                        }
                    ]
                }
            ]
        }
        // ...
    ]
}
```

Code sample
-----------

[](#code-sample)

```
