Skip to content

Commit cf84371

Browse files
committed
use http_build_query instead of sprintf to improve readability
1 parent 4d91d6a commit cf84371

File tree

4 files changed

+35
-30
lines changed

4 files changed

+35
-30
lines changed

lib/Providers/Qr/GoogleChartsQrCodeProvider.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@ public function getQRCodeImage(string $qrtext, int $size): string
2323

2424
public function getUrl(string $qrtext, int $size): string
2525
{
26-
return sprintf(
27-
'https://chart.googleapis.com/chart?chs=%1$sx%1$s&chld=%2$s&cht=qr&choe=%3$s&chl=%4$s',
28-
$size,
29-
urlencode(strtoupper($this->errorcorrectionlevel) . '|' . $this->margin),
30-
$this->encoding,
31-
rawurlencode($qrtext)
26+
$queryParameters = array(
27+
'chs' => $size . 'x' . $size,
28+
'chld' => strtoupper($this->errorcorrectionlevel) . '|' . $this->margin,
29+
'cht' => 'qr',
30+
'choe' => $this->encoding,
31+
'chl' => $qrtext,
3232
);
33+
34+
return 'https://chart.googleapis.com/chart?' . http_build_query($queryParameters);
3335
}
3436
}

lib/Providers/Qr/ImageChartsQRCodeProvider.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,13 @@ public function getQRCodeImage(string $qrtext, int $size): string
2525

2626
public function getUrl(string $qrtext, int $size): string
2727
{
28-
return sprintf(
29-
'https://image-charts.com/chart?cht=qr&chs=%1$dx%1$d&chld=%2$s|%3$s&chl=%4$s',
30-
ceil($size / 2),
31-
$this->errorcorrectionlevel,
32-
$this->margin,
33-
rawurlencode($qrtext)
28+
$queryParameters = array(
29+
'cht' => 'qr',
30+
'chs' => ceil($size / 2) . 'x' . ceil($size / 2),
31+
'chld' => $this->errorcorrectionlevel . '|' . $this->margin,
32+
'chl' => $qrtext,
3433
);
34+
35+
return 'https://image-charts.com/chart?' . http_build_query($queryParameters);
3536
}
3637
}

lib/Providers/Qr/QRServerProvider.php

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,18 @@ public function getQRCodeImage(string $qrtext, int $size): string
3838

3939
public function getUrl(string $qrtext, int $size): string
4040
{
41-
return sprintf(
42-
'https://api.qrserver.com/v1/create-qr-code/?size=%1$sx%1$s&ecc=%2$s&margin=%3$s&qzone=%4$s&bgcolor=%5$s&color=%6$s&format=%7$s&data=%8$s',
43-
$size,
44-
strtoupper($this->errorcorrectionlevel),
45-
$this->margin,
46-
$this->qzone,
47-
$this->decodeColor($this->bgcolor),
48-
$this->decodeColor($this->color),
49-
strtolower($this->format),
50-
rawurlencode($qrtext)
41+
$queryParameters = array(
42+
'size' => $size . 'x' . $size,
43+
'ecc' => strtoupper($this->errorcorrectionlevel),
44+
'margin' => $this->margin,
45+
'qzone' => $this->qzone,
46+
'bgcolor' => $this->decodeColor($this->bgcolor),
47+
'color' => $this->decodeColor($this->color),
48+
'format' => strtolower($this->format),
49+
'data' => $qrtext,
5150
);
51+
52+
return 'https://api.qrserver.com/v1/create-qr-code/?' . http_build_query($queryParameters);
5253
}
5354

5455
private function decodeColor(string $value): string

lib/Providers/Qr/QRicketProvider.php

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,15 @@ public function getQRCodeImage(string $qrtext, int $size): string
3434

3535
public function getUrl(string $qrtext, int $size): string
3636
{
37-
return sprintf(
38-
'http://qrickit.com/api/qr?qrsize=%s&e=%s&bgdcolor=%s&fgdcolor=%s&t=%s&d=%s',
39-
$size,
40-
strtolower($this->errorcorrectionlevel),
41-
$this->bgcolor,
42-
$this->color,
43-
strtolower($this->format),
44-
rawurlencode($qrtext)
37+
$queryParameters = array(
38+
'qrsize' => $size,
39+
'e' => strtolower($this->errorcorrectionlevel),
40+
'bgdcolor' => $this->bgcolor,
41+
'fgdcolor' => $this->color,
42+
't' => strtolower($this->format),
43+
'd' => $qrtext,
4544
);
45+
46+
return 'http://qrickit.com/api/qr?' . http_build_query($queryParameters);
4647
}
4748
}

0 commit comments

Comments
 (0)