Membuat Function

Untuk membuat function yang akan anda gunakan/eksekusi di dalam script anda, anda harus memastikan bahwa nama function tersebut mengikuti aturan aturan sebagai berikut:
  1. setiap function harus ditaruh pada file "_function.php" pada module anda, atau juga bisa di dalam file "admin/_function.php" jika function tersebut hanya digunakan dalam admin panel
  2. setiap nama function harus diawali dengan prefix nama module lalu diikuti dengan underscore "_" kemudian nama function yang ingin anda buat
    • semisal nama module anda adalah "coba" dan anda ingin membuat function dengan nama display maka function yang anda buat harus menjadi "coba_display" lihat contoh script di bawah:
      function coba_display($value='')
      {
          echo $value;
      }
  3. nama function sama persis dengan nama module tanpa di ikuti dengan tambahan lain itu diperbolehkan, semisal nama module anda "coba" kemudian di dalam file _function.php anda membuat function dengan nama "coba" saja, tidak akan menjadi masalah
  4. Jika function yang anda buat bertujuan untuk merubah function utama pada framework, maka anda harus membuat module dengan nama prefix dari function yang ingin anda rubah tersebut. Misal jika anda ingin merubah function config_name maka anda harus membuat module dengan nama "config" dan membuat file modules/config/_function.php dari dalam file tersebut baru anda buat function dengan nama "config_name"
  5. semua file _function.php dalam module bisa dieksekusi menggunakan function _func jadi pastikan anda tidak membuat function yang sudah pernah dibuat sebelumnya baik itu di dalam framework maupun di dalam module-module yang anda buat

Membuat function yang bisa di hook atau hookable function

hookable function dalam framework ini tidak seperti dalam framework lain yang biasanya me-replace function yang sudah ada, melainkan menambahkan proses baru yang anda buat ke dalam proses yang sudah ada. Untuk membuat hookable function yang perlu anda lakukan adalah mengeksekusi function user_call_func untuk eksekusi function dengan proses atau user_call_func_validate untuk eksekusi berupa validasi dengan return boolean (true/false) untuk lebih jelasnya silahkan anda buka link dari function tersebut

berikut contoh membuat hookable function pada module "coba" dengan nama function "ok"
function coba_ok($value='')
{
    user_call_func(__FUNCTION__, func_get_args());
    echo "--{$value}--";
}
pada function di atas akan memanggil semua function yang aa di semua module apabila module tersebut memiliki nama {namamodule}_coba_ok, mari kita contohkan apabila kita buat module dengan nama "lain" dan di dalam file modules/lain/_function.php terdapat function sebagai berikut:
function lain_coba_ok($value)
{
    echo "=={$value}== ";
}
maka yang terjadi apabila ada script yang meng-eksekusi function coba_ok() contoh _func('coba' , 'ok', 'nama saya'); maka output yang keluar adalah:
==nama saya==
--nama saya--
tetapi jika anda menghapus function "lain_coba_ok" maka output dari function tersebut akan kembali normal yaitu:
--nama saya--

Tags : Module

0 Komentar

Berikan komentar anda