article

Apa itu fitur hooks?

Apa itu fitur hooks?

 

Hooks - Memperluas Inti Framework
Fitur Hooks CodeIgniter menyediakan sarana untuk memanfaatkan dan memodifikasi cara kerja bagian dalam kerangka tanpa meretas file inti. Ketika CodeIgniter menjalankannya mengikuti proses eksekusi spesifik, yang digambarkan dalam halaman Alur Aplikasi. Namun, mungkin ada kejadian di mana Anda ingin melakukan beberapa tindakan pada tahap tertentu dalam proses eksekusi. Misalnya, Anda mungkin ingin menjalankan skrip tepat sebelum pengontrol dimuat, atau tepat sesudahnya, atau Anda mungkin ingin memicu salah satu skrip Anda sendiri di beberapa lokasi lain.

Mengaktifkan Hook
Fitur hook dapat diaktifkan secara global / dinonaktifkan dengan mengatur item berikut di file aplikasi / config / config.php:

$ config ['enable_hooks'] = TRUE;
Menentukan Hook
Hook didefinisikan dalam file aplikasi / config / hooks.php. Setiap hook ditentukan sebagai array dengan prototipe ini:

$ hook ['pre_controller'] = array (
        'class' => 'MyClass',
        'function' => 'Myfunction',
        'filename' => 'Myclass.php',
        'filepath' => 'kait',
        'params' => array ('bir', 'anggur', 'makanan ringan')
);
Catatan:

Indeks array berkorelasi dengan nama titik hook tertentu yang ingin Anda gunakan.Dalam contoh di atas, titik kaitnya adalah pre_controller. Daftar titik kait ditemukan di bawah ini. Item berikut harus ditentukan dalam larik hook asosiatif Anda:

kelas Nama kelas yang ingin Anda panggil. Jika Anda lebih suka menggunakan fungsi prosedural daripada kelas, biarkan item ini kosong.
function Fungsi (atau metode) nama yang ingin Anda panggil.
nama file Nama file yang berisi kelas / fungsi Anda.
filepath Nama direktori yang berisi skrip Anda. Catatan: Script Anda harus ditempatkan di direktori INSIDE direktori aplikasi Anda, sehingga path file relatif ke direktori itu.Misalnya, jika skrip Anda berada di aplikasi / pengait /, Anda hanya akan menggunakan ‘hooks’ sebagai filepath Anda. Jika skrip Anda berada di aplikasi / pengait / utilities / Anda akan menggunakan ‘hooks / utilities’ sebagai filepath Anda.Tidak ada garis miring tambahan.
params Parameter apa pun yang ingin Anda teruskan ke skrip Anda. Item ini opsional.
Anda juga dapat menggunakan fungsi lambda / anoymous (atau penutupan) sebagai pengait, dengan sintaks yang lebih sederhana:

$ hook ['post_controller'] = function ()
{
        / * lakukan sesuatu di sini * /
};
Beberapa Panggilan ke Kait yang Sama
Jika ingin menggunakan hook point yang sama dengan lebih dari satu skrip, cukup buat deklarasi array Anda multi-dimensi, seperti ini:

$ hook ['pre_controller'] [] = array (
        'class' => 'MyClass',
        'function' => 'MyMethod',
        'filename' => 'Myclass.php',
        'filepath' => 'kait',
        'params' => array ('bir', 'anggur', 'makanan ringan')
);

$ hook ['pre_controller'] [] = array (
        'class' => 'MyOtherClass',
        'function' => 'MyOtherMethod',
        'filename' => 'Myotherclass.php',
        'filepath' => 'kait',
        'params' => array ('merah', 'kuning', 'biru')
);
Perhatikan tanda kurung setelah setiap indeks array:

$ hook ['pre_controller'] []
Ini memungkinkan Anda memiliki titik kait yang sama dengan banyak skrip. Urutan Anda menentukan array Anda akan menjadi perintah eksekusi.

Poin Hook
Berikut ini adalah daftar poin hook yang tersedia.

-pre_system Disebut sangat awal selama eksekusi sistem. Hanya kelas patokan dan pengait yang dimuat pada titik ini. Tidak ada perutean atau proses lain yang terjadi.
-pre_controller Dipanggil segera sebelum salah satu pengendali Anda dipanggil.Semua kelas dasar, routing, dan pemeriksaan keamanan telah dilakukan.
-post_controller_constructor Dipanggil segera setelah pengontrol Anda di-instantiate, tetapi sebelum panggilan metode apa pun terjadi.
-post_controller Dipanggil segera setelah pengontrol Anda dijalankan sepenuhnya.
-display_override Mengganti metode _display (), yang digunakan untuk mengirim halaman akhir ke browser web pada akhir eksekusi sistem. Ini memungkinkan Anda untuk menggunakan metodologi penulisan Anda sendiri. Perhatikan bahwa Anda perlu mereferensikan CI superobject dengan $ this-> CI = & get_instance () dan kemudian data final akan tersedia dengan memanggil $ this-> CI-> output-> get_output ().
-cache_override Memungkinkan Anda memanggil metode Anda sendiri daripada metode _display_cache () di Output Library. Ini memungkinkan Anda untuk menggunakan mekanisme tampilan cache Anda sendiri.
-post_system Dipanggil setelah halaman hasil akhir dikirim ke browser, pada akhir eksekusi sistem setelah data yang diselesaikan dikirim ke browser.

 

ads
ads

Sumber www.codeigniter.com

0
Comments (0)
Unable to Comment
You need to be logged in to be able to post a comment. Click here to login

No comments yet. Be the first to comment.

From Author
Loading…
ads
ads
ads