- Seme Framework
- versi 4.0.3 (ID)
- Persyaratan
- Download & Install
- Pengaturan
- Tutorial
- Perutean URI
- Konstanta
- Variabel Global
- Model
- View
- Controller
- Library
- CLI (command line interface)
- Core
Metode Lib
Metode lib dari kelas SENE_Controller digunakan untuk memanggil kelas pustaka (library) supaya dapat menjadi bagian dari kelas controller yang memanggilnya.
Secara teknis, metode lib akan otomatis menginstansiasi kelas pustaka sehingga menjadi properti dari kelas yang memanggilnya.
Terus apa nama propertinya kalau dibuat otomatis? Nama propertinya akan sama dengan nama filenya tapi tanpa akhiran .php
.
Untuk penjelasan lengkapnya mari kita lihat contoh kode.
<?php
class Blog extends SENE_Controller {
public function __construct(){
parent::__construct();
}
public function index(){
...
// memanggil library Seme_Email
$this->lib('seme_email');
//cukup dengan 1 baris saja,
// Seme Framework akan membuatkan properti baru
// pada kelas ini yaitu $seme_email
// untuk pemanggilanya bisa lihat kode dibawah ini
$this->seme_email->from('daeng@example.com');
....
}
...
public function coba2(){
...
// memanggil library Seme_Email
$this->lib('seme_log');
//cukup dengan 1 baris saja,
// Seme Framework akan membuatkan properti baru
// pada kelas ini yaitu $seme_log
// untuk pemanggilanya bisa lihat kode dibawah ini
$this->log->write('haloo');
....
}
}
Bentuk Umum
Metode lib memiliki bentuk umum sebagai berikut.
$this->lib(string $filename_location[, string $alias[, string $embeeding_type="lib"]])
Parameter
Metode lib terdiri dari 3 parameter yaitu $filename_location
, $alias
dan $embeeding_type
.
$filename_location
Lokasi dan nama file library yang akan digunakan tanpa akhiran.php
.
Library yang digunakan oleh Seme Framework baik direktori maupun filenya harus selalu relatif terhadap direktori kero/lib
.
Jadi pastikan library sudah ada didalam direktori kero/lib
tersebut.
Contoh
Berikut ini adalah contoh pemanggilan library secara langsung
<?php
class Order extends SENE_Controller {
public function __construct(){
parent::__construct();
$this->lib('conumtext');
}
...
public function submit(){
//executing the seme_email object
$this->lib('conumtext');
$token = $this->conumtext->genRand($type = 'str', $min = 7, $max = 15);
....
}
}
$alias
Tujuan alias untuk menyingkat nama model yang kita buat menjadi SENE_Controller.
Alias dapat berisi alfanumerik dan garis bawah apa pun.
Ini contohnya:
$this->lib('seme_email','eml');
Dengan contoh ini, seme_email akan menjadi bagian dari kelas SENE_Controller sebagai objek eml
Ini contoh lengkapnya:
<?php
class Blog extends SENE_Controller {
public function __construct(){
parent::__construct();
$this->lib('seme_email','eml');
}
public function index(){
//executing the hello_model object
$this->eml->from('daeng@example.com')
....
}
}
$embeeding_type
Tujuan embeeding_type adalah untuk mengaktifkan objek autoinstantiate atau tidak.
Jika nilainya sama dengan lib
, library akan dibuat instance-nya dengan nama yang sama dengan nama file library.
Jika tidak, perpustakaan hanya akan disertakan tanpa membuat instance.
Berikut adalah contohnya:
$this->lib('seme_email','eml','inc');
Dengan contoh ini, seme_email akan menjadi bagian dari kelas SENE_Controller sebagai objek eml
Here is the full example:
<?php
class Blog extends SENE_Controller {
public function __construct(){
parent::__construct();
$this->lib('seme_email','eml','inc');
}
public function index(){
//executing the hello_model object
$eml = new Seme_Email();
$eml->from('daeng@example.com');
....
}
}