i (am) Blogger and U?

from X-periment to X-perience

Template Toko Online: Shopper

SHOPPER adalah HTML template (menggunakan Bootstrap 3.3.6) yang ditujukan untuk toko online. Template ini terdiri dari 6 halaman siap pakai yaitu home, product lists, shopping cart, det [...]

Aplikasi Web: Custom Form

Aplikasi Web Custom Form, software berbasis web dengan fitur utama adalah pembuatan DYNAMIC FORM (form web dinamis). Form ini terdiri dari berbagai jenis field, seperti field input text [...]

One-Page Portofolio / Gallery 1

One-Page Portofolio/Gallery adalah paket aplikasi web yang memfasilitasi Anda baik perseorangan maupun korporat yang ingin menampilkan/memajang portofolio/hasil karya/gallery kegiatan/p [...]

Online Shop Basic 2

Online Shop Basic 2 adalah paket minimalis aplikasi toko online instan yang dapat digunakan untuk menjalankan bisnis secara online. Aplikasi ini adalah aplikasi toko online yang "sudah [...]

Aplikasi Web: URL Shortener Complete 2

URL Shortener Complete 2 adalah aplikasi yang membantu Anda untuk menjalankan situs/web yang memiliki fasilitas URL shortener. Pemendek URL sesuai namanya berfungsi untuk memangkas alam [...]

Aplikasi Web: WebReview-Series 1

Web Review-Series 1 adalah paket aplikasi web yang memfasilitasi Anda yang ingin membuat situs yang berisi review dari berbagai hal. Review tentang suatu produk, Review tentang suatu te [...]

Laravel URI Segment

Category: Web DevelopmentDate:
Friday, 22 Feb 2019

Laravel (paling tidak pada contoh ini saya menggunakan laravel 5.5) tidak menyediakan helper, class, dll yang memungkinkan untuk mengakses uri segment (saya menggunakan "istilah" yang digunakan di CodeIgniter). Kali ini saya akan membahas bagaimana cara untuk mengakses uri segment. Pengaksesan url di laravel yang saya dapat dari dokumentasi kira-kira seperti di bawah ini

[php]
// Get the current URL without the query string...
echo url()->current();

// Get the current URL including the query string...
echo url()->full();

// Get the full URL for the previous request...
echo url()->previous();
[/php]


Mungkin timbul pertanyaan, apa perlunya mengakses uri segment? Ya, uri segment mungkin "tidak terlalu berguna" di laravel karena pola pengaksesan controller di laravel berbeda misalnya dengan di codeigniter. Laravel "terlalu terbatas" pada apa yang didefiniskan di dalam route. Pembahasan mengenai pro-kontra framework dan pendekatan masing-masing tidak akan kita bahas pada tulisan kali ini (mungkin udah ada yang membahasnya?).

Satu dari beberapa hal yang mungkin bermanfaat dari pengaksesan uri segment adalah "dynamic parameters". Biasanya ketika mengakses parameter di dalam method digunakan contoh0 seperti ini
[php]
class CobaController extends Controller
{
#contoh0
function contoh($param1,$param2,$param3)
{
$hasil = ($param1 + $param2) * $param3;
return $hasil;
}
}
[/php]


Bandingkan dengan contoh1 ini
[php]
class CobaController extends Controller
{
#contoh1
function contoh()
{
$uri = fungsiURISegment();
$hasil = ($uri[2] + $uri[3]) * $uri[4];
return $hasil;
}
}
[/php]


Ya, mungkin "kegunaannya" belum kelihatan pada contoh1 di atas karena hal yang dilakukan sama dengan contoh0. Dengan contoh2 berikut akan kelihatan "salah satu manfaatnya" karena yang dilakukan di dalam method berkaitan dengan method yang lain.
[php]
class CobaController extends Controller
{
#contoh2
function contoh()
{
$uri = fungsiURISegment();
if($uri[2] == ''){
return $this->home($uri);
}else{
#bla bla bla tergantung kebutuhan
}
return $hasil;
}

private function home($param)
{
if(is_array($param)){
return 'home data:'.$param[3].$param[4];
}
}
}
[/php]


fungsiURISegment() cuma contoh saja, function yang asli kira-kira begini
[php]
function uri_segment()
{
$url = url()->current();
$url = explode($_SERVER['HTTP_HOST'],$url);
$url = explode('/',$url[1]);

return $url;
}

[/php]


Anda mungkin bertanya mengapa tidak menggunakan $_SERVER['REQUEST_URI'] saja tapi malah menggunakan url()->current()? Jawabannya adalah karena url()->current() menghasilan url tanpa query string.

Misal kita punya url http://contoh.com/contoh/segment/2/3 ketika kita gunakan uri_segment
[php]
$url = uri_segment();
print_r($url);
[/php]


maka hasilya:
[php]
Array
(
[0] =>
[1] => contoh
[2] => segment
[3] => 2
[4] => 3
)
[/php]


Contoh saya di atas mungkin kurang lengkap karena ya cuma contoh saja dan dalam prakteknya, uri segment bisa dimanfaatkan untuk hal-hal lain tergantung imaginasi dan kebutuhan programmer. Terakhir, supaya function bisa diakses di controller yang lain, salah satu caranya adalah Anda bisa menambahkannya ke dalam helpers


No comments...
>> Comments closed. <<