markup / oembed-bundle
Bundle with a way of defining oEmbed providers, and rendering oEmbed in templates.
Installs: 55 733
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 5
Forks: 2
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.1
- symfony/framework-bundle: ^3.4|^4|^5
- twig/twig: ~1.12|~2.0
Requires (Dev)
- guzzlehttp/guzzle: ~6.1
- phpstan/phpstan: ^0.12.5
- phpunit/phpunit: ^7
- symfony/console: ^3.4|^4|^5
Suggests
- guzzlehttp/guzzle: For making OEmbed requests using Guzzle
- symfony/console: To use CLI OEmbed scripts.
This package is auto-updated.
Last update: 2024-10-29 04:17:52 UTC
README
Installation
You can install this bundle using composer or add the package to your composer.json file directly.
composer require markup/oembed-bundle
After you have installed the package, you just need to add the bundle to your AppKernel.php file:
// in AppKernel::registerBundles() $bundles = array( // ... new Markup\OEmbedBundle\MarkupOEmbedBundle(), // ... );
About
This Symfony2 bundle offers the ability to easily define integrations with OEmbed providers on an ad-hoc basis without needing to make use of a service like Embed.ly.
Usage
Say you want to include Youtube videos using OEmbed - you can set up a provider as semantic configuration in your config.yml file:
markup_o_embed: providers: youtube: endpoint: http://www.youtube.com/oembed scheme: "http://www.youtube.com/watch?v=$ID$" code_property: html
You can then render oEmbed blocks in a template either by referencing the media ID and provider inline:
{{ markup_oembed('dQw4w9WgXcQ', 'youtube', {}) }}
or if you have passed an object of class Markup\OEmbedBundle\OEmbed\Reference
into your template:
use Markup\OEmbedBundle\OEmbed\Reference; $oEmbed = new Reference('dQw4w9WgXcQ', 'youtube'); $twig->render('my_template.html.twig', array('oembed' => $oEmbed));
you can then reference it slightly differently:
{{ markup_oembed_render(oembed, {}) }}
License
Released under the MIT License. See LICENSE.