biozshock / short-url-bundle
Provides a service and twig extension for getting short urls like http://your.host/~short
Installs: 20
Dependents: 0
Suggesters: 0
Security: 0
Stars: 13
Watchers: 3
Forks: 5
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.3.2
- doctrine/doctrine-bundle: 1.1.*
- doctrine/orm: >=2.2.3,<2.4-dev
- symfony/symfony: >=2.0,<2.3-dev
This package is not auto-updated.
Last update: 2025-01-12 05:25:40 UTC
README
This bundle provides a service and twig extension for getting short urls like http://your.host/~short
Installation
Add this bundle to your project
Using the vendors script
Add the following lines in your deps file:
[BumzShortUrlBundle]
git=git://github.com/biozshock/ShortUrlBundle.git
target=bundles/Bumz/ShortUrlBundle
Run the vendors script:
$ php bin/vendors install
Using Git submodule
$ git submodule add git://github.com/biozshock/ShortUrlBundle.git vendor/bundles/Bumz/ShortUrlBundle
Add the Bumz namespace to your autoloader
<?php // app/autoload.php $loader->registerNamespaces(array( 'Bumz' => __DIR__.'/../vendor/bundles', // your other namespaces ));
Add this bundle to your application's kernel
<?php // app/AppKernel.php public function registerBundles() { return array( // ... new Bumz\ShortUrlBundle\BumzShortUrlBundle(), // ... ); }
Add bundle's routing
# /app/config/routing.yml BumzShortUrlBundle: resource: "@BumzShortUrlBundle/Resources/config/routing.yml" prefix: /
Examples
Short url in a controller
<?php use Symfony\Bundle\FrameworkBundle\Controller\Controller; class UsersController extends Controller { public function getUserProfileShortAction() { ... $longUrl = $this->get('bumz_short_url.shortener')->shorten('http://example.com'); // $longUrl = '/~ShE' ... } }
Get long url in controller
<?php use Symfony\Bundle\FrameworkBundle\Controller\Controller; class UsersController extends Controller { public function getUserProfileShortAction() { ... $shortUrl = 'aUty'; $longUrl = $this->get('bumz_short_url.shortener')->getLong($shortUrl); // $longUrl = 'http://example.com' ... } }
Get short url in a twig template
{{ 'http://example.com' | shortenUrl }} {# this will output something like /~ShE #}