Completed
Push — master ( 4a7c7d...ff28b8 )
by Elf
02:12 queued 01:04
created

Base64Connection   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 0
dl 0
loc 24
ccs 0
cts 8
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A encode() 0 4 1
A decode() 0 4 1
1
<?php
2
3
namespace ElfSundae\Laravel\Hashid;
4
5
class Base64Connection implements ConnectionInterface
6
{
7
    /**
8
     * Encodes the given data with base64, and returns an URL-safe string.
9
     *
10
     * @param  string  $data
11
     * @return string
12
     */
13
    public function encode($data)
14
    {
15
        return strtr(base64_encode($data), ['+' => '-', '/' => '_', '=' => '']);
16
    }
17
18
    /**
19
     * Decodes a base64 encoded data.
20
     *
21
     * @param  string  $data
22
     * @return string
23
     */
24
    public function decode($data)
25
    {
26
        return base64_decode(strtr($data.str_repeat('=', (4 - strlen($data) % 4)), '-_', '+/'));
27
    }
28
}
29