i (am) Blogger and U?

from X-periment to X-perience

Toko Online Barang Digital 1

Toko Online Barang Digital 1 adalah paket full-features aplikasi toko online khusus untuk benda/barang digital seperti aplikasi/software atau ebook pdf, doc dkk yang dapat digunakan unt [...]

One-Page Portofolio / Gallery 3

One-Page Portofolio / Gallery 3 memiliki fitur-fitur yang sama persis dengan One-Page Portofolio / Gallery 1 tapi dengan theme/template yang berbeda.

Badge/Watermark Image Generator

Badge/Watermark Image Generator adalah aplikasi web yang digunakan untuk membuat badge/watermark atau penanda pada foto/gambar yang biasanya digunakan misalnya pada penanda foto produk [...]

Profile / Portofolio Pro 1

Aplikasi Profil / Portofolio Pro 1, software berbasis web untuk pengelolaan portofolio atau untuk menampilkan profil baik perusahaan maupun perseorangan. Selain itu software ini dapat p [...]

Aplikasi Web: WebReview-Series 2

Web Review-Series 2 memiliki fitur-fitur yang sama persis dengan Web Review-Series 1 tapi dengan theme/template yang berbeda (theme yang dipakai pada versi ini adalah theme yang respons [...]

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 [...]

Tips Mensimulasikan CodeIgniter URL di Laravel (Bagian 4) - Reroute

Category: Web DevelopmentDate:
Sunday, 24 Mar 2019


Kali ini, saya akan membahas tips agar kita bisa mensimulasikan codeigniter url di laravel tanpa perlu menambahkan __invoke() tiap kali membuat controller baru. Pertama, buat controller baru dengan nama Reroute (kalau Anda mau menggunakan nama lain silahkan saja).
[php]
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class Reroute extends Controller
{

public function __invoke($method_name, $param='')
{
return $this->{$method_name}($param);
}

}
[/php]


Kemudian, tambahan route:
[php]
Route::get('reroute/{method_name}/{param?}', 'Reroute');
[/php]


Kali ini saya gunakan setting route dasar, kalau Anda ingin mengadakan modifikasi dan penyesuaian silahkan merujuk pada tulisan Tips Mensimulasikan CodeIgniter URL di Laravel (Bagian 3).

Selanjutnya, buat lagi controller dengan nama CobaController seperti ini
[php]
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class CobaController extends Reroute
{

function test($param='')
{
return 'test '.$param;
}

function hello($param='')
{
return 'hello '.$param;
}

}
[/php]


Kemudian, tambahan route:
[php]
Route::get('coba/{method_name}/{param?}', 'CobaController');
[/php]


Perhatikan perbedaannya bahwa kali ini, CobaController tidak meng-extends Controller tapi Reroute. Silahkan buka web browser dan ketikkan http://contoh-nama-domain.com/coba/hello/123 untuk mengecek apakah berhasil atau tidak. Kalau muncul tulisan "hello 123" maka berarti berhasil.

Jadi, tiap kali menambahkan controller baru cukup meng-extends reroute dan tambahkan route yang sesuai dan tiap method yang ditambahkan pun otomatis bisa digunakan sehingga laravel bisa menggunakan pola [controller_name]/[method] layaknya CodeIgniter secara dinamis.


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