shivella/laravel-bitly

Laravel package for generating bitly url

Installs: 717 142

Dependents: 1

Suggesters: 0

Security: 0

Stars: 75

Watchers: 1

Forks: 27

Open Issues: 1

pkg:composer/shivella/laravel-bitly

1.1.16 2025-02-19 06:27 UTC

README

A laravel package for generating Bitly short URLs.

For more information see Bitly

Build Status Latest Stable Version License Total Downloads

Requirements

Laravel 5.1 or later

Installation

Installation is a quick 3 step process:

  1. Download laravel-bitly using composer
  2. Enable the package in app.php
  3. Configure your Bitly credentials
  4. (Optional) Configure the package facade

Step 1: Download laravel-bitly using composer

Add shivella/laravel-bitly by running the command:

composer require shivella/laravel-bitly 

Step 2: Enable the package in app.php

Register the Service in: config/app.php

Shivella\Bitly\BitlyServiceProvider::class,

Step 3: Configure Bitly credentials

php artisan vendor:publish --provider="Shivella\Bitly\BitlyServiceProvider" 

Add this in you .env file

BITLY_ACCESS_TOKEN=your_secret_bitly_access_token 

Step 4 (Optional): Configure the package facade

Register the Bitly Facade in: config/app.php

<?php return [ 'aliases' => [ 'App' => Illuminate\Support\Facades\App::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, 'Auth' => Illuminate\Support\Facades\Auth::class, // ... 'Bitly' => Shivella\Bitly\Facade\Bitly::class, ], // ... ];

Usage

<?php $url = app('bitly')->getUrl('https://www.google.com/'); // http://bit.ly/nHcn3

Or if you want to use facade, add this in your class after namespace declaration:

<?php use Bitly;

Then you can use it directly by calling Bitly:: like:

<?php $url = Bitly::getUrl('https://www.google.com/'); // http://bit.ly/nHcn3

Testing

In your unit tests you may use BitlyClientFake class instead of regular client. It will create a fake short URLs using hashing without calling an external REST API, which will speed up your unit tests. Fake might be setup via DI at your \Tests\TestCase::createApplication() implementation:

<?php namespace Tests; use Illuminate\Contracts\Console\Kernel; use Shivella\Bitly\Testing\BitlyClientFake; trait CreatesApplication { /**  * Creates the application.  *  * @return \Illuminate\Foundation\Application  */ public function createApplication() { $app = require __DIR__.'/../bootstrap/app.php'; $app->make(Kernel::class)->bootstrap(); // swap Bitly client by a fake $app->singleton('bitly', function () { return new BitlyClientFake(); }); return $app; } }

As an alternative you may use \Shivella\Bitly\Facade\Bitly::fake() method to swap regular client by a fake.