elliottlan/laravel-baser

Encode and decode integers with your own specified base!

1.1 2017-09-18 02:58 UTC

This package is not auto-updated.

Last update: 2024-04-27 14:38:37 UTC


README

Base encode and decode integers with your own specified base

View the package at packagist.org

Requirements

  • Laravel
  • PHP

Limits

  • Currently only supports integers from 1 to 100000000000000000000000000000 (on 64 bit machines)

Installation

  1. Include the composer package
composer require elliottlan/laravel-baser
  1. Add this line to 'Providers' in config/app.php
Elliottlan\LaravelBaser\LaravelBaserServiceProvider::class,
  1. Add this line to 'Aliases' in config/app.php
'Baser' => Elliottlan\LaravelBaser\Facades\Baser::class,
  1. Use 'Base' at the top of a controller
use Baser;
  1. Try an example out
echo Baser::getTokenFromInt(436432278698); // 7GnTmBA

Usage examples

Encode an int
echo Baser::getTokenFromInt(436432278698); // 7GnTmBA
Decode a token
echo Baser::getIntFromToken('7GnTmBA'); // 436432278698
Use big maths (requires php-bcmath)
// calculate above the 32bit limit on old machines
echo Baser::bcMath()->getTokenFromInt(19598531548); // lolrly
echo Baser::bcMath()->getIntFromToken('lolrly'); // 19598531548
Define a codeset and encode/decode
// set codeset to 'ABCEFGHKMNPRSTUVW1235789'
echo Baser::setCodeset('ABCEFGHKMNPRSTUVW1235789')->getTokenFromInt(646464); // B82MA
echo Baser::setCodeset('ABCEFGHKMNPRSTUVW1235789')->getIntFromToken('B82MA'); // 646464
Everything
echo Baser::setCodeset('ABC')->bcMath()->getTokenFromInt(1337);
Simple URL Shortening service using this package

Controller Model Migration