i (am) Blogger and U?

from X-periment to X-perience

Online Shop Basic 1

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

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

WP Plugins: RSS to Post

RtoP adalah WordPress Plugins yang memudahkan untuk membuat post yang content-nya berasal dari blog/web lain dalam hal ini dengan memanfaatkan RSS. RtoP dapat menyimpan banyak RSS da [...]

Aplikasi Web: Online Shop PRO 1

Toko Online Pro 1 adalah paket full-features aplikasi toko online yang dapat digunakan untuk menjalankan bisnis Anda secara online. Aplikasi ini memiliki fitur-fitur unggulan dan lengk [...]

Aplikasi Web: Custom X

Aplikasi Web Custom X, software berbasis web dinamis dengan fitur utama adalah pembuatan SURVEY dan/atau POLLING dengan jumlah yang tidak dibatasi. Selain itu aplikasi ini juga memiliki [...]

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

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