Penggunaan Konstruktor untuk pengecekan ottentifikasi dalam Kohana

Dalam OOP kita biasa mengartikan bahwa kode yang ada dalam dalam konstruktor adalah sesuatu yang dijalankan pada saat objek tersebut dibuat, namun pada Kohana di bagian Controller hal itu tidak berlaku. kenapa

Karena tugas controller adalah menyusun/menggabungkan model, mengolah logika, dan mem-pass nya ke dalam view. maka semua praktek OOP tersebut terasa rancu.

* bukan disebabkan karena sifat liarnya PHP.

Fungsi Konstruktor yang memiliki nama fungsi __construct adalah sebagai sesuatu yang akan dijalankan terlebih dahulu sebelum sebuah konstruktor dipakai/dipanggil.

karena lazimnya sebuah konstruktor berarti sebuah page dalam framework MVC, contoh : localhost/home/gallery, maka kira2 kode penyusun classnya adalah seperti berikut :

class home extends Controller {

    public function gallery() {

    }

}

nah dari situ saya memiliki ide, bagaimana jika pengecekan ottentifikasi ditaruh di konstruktor

jadi logikanya sebelum mengarah ke fungsi/halaman lain akan dicegah oleh kode dalam konstrukor, berikut ini contoh kasusnya :

seumpama ada viewer yang berusaha mengakses alamat localhost/gallery tetapi untuk melihat halamat tersebut diwajibkan untuk login terlebih dahulu, maka kode yang akan saya gunakan adalah

class home extends Controller {

    public function __construct() {

        parent::__construct(); // ini wajib

        if ( sudah_login != benar ) {

            url:: redirect(‘login’); // redirect ke halaman login

        }

    }

    public function gallery() {

   }

}

* sudah_login tersebut bukanlah variabel / function tetapi perumpamaan atas sebuah function

Nah mudah bukan untuk otentifikasinya. karena untuk menuju halaman gallery maka akan dicek terlebih dahulu oleh konstruktor, berkat ini saya bisa memotong 3-4 baris kode untuk tiap function dalam controller.

TELAT BENER mikir kaya gini

Moga2 berguna

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s