i (am) Blogger and U?

from X-periment to X-perience

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

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

Starter: Anime/Movie Sharing

Produk yang satu ini adalah aplikasi web yang dikhususkan bagi Anda yang ingin memiliki situs/web yang dengan fasilitas untuk menampilkan anime/movie dan dapat ditonton oleh para pengun [...]

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: Online Shop PRO 2

Toko Online Pro 2 memiliki fitur-fitur yang sama persis dengan Toko Online Pro 1 tapi dengan theme/template yang berbeda.

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

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