- 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 setKey
Metode setKey
digunakan untuk menyimpan nilai di dalam variabel global $_SESSION, sehingga dapat tersedia dimana saja didalam semua kelas controller.
Metode biasanya ini digunakan untuk menyimpan data setelah proses login berhasil.
Bentuk Umum
Berikut ini bentuk umum penggunaan metode setKey
dari kelas SENE_Controller .
$this->setKey(mixed $values): $this
Parameter
Metode ini membutuhkan 1 parameter wajib.
$values
Nilai dari $values
bisa berupa array
atau object
tergantung kebutuhan.
Pengaturan
Kunci untuk menyimpan sesi supaya tidak bentrok dengan aplikasi lain dalam 1 server yang sama, pengaturannya disimpan didalam file pengaturan.
Berikut ini adalah contoh file pengaturan development.php
.
...
$saltkey = 'semeframework21;;
...
Contoh
Berikut ini adalah contoh penggunaannya untuk API dalam proses otentifikasi pengguna (login) pada kelas controller.
<?php
class Login extends SENE_Controller {
public function __construct(){
parent::__construct();
$this->setTheme('front');
$this->load('front/b_user_model','bum');
}
.
.
.
public function proses(){
// ambil input yang dibutuhkan untuk login
// biasanya email dan password
$email = $this->input->post("email");
$password = $this->input->post("password");
// validasi email
// ambil data user berdasarkan email
// dari database melalui model bum
// untuk melihat model bum ini di bagian metode constructor
$user = $this->bum->getByEmail($email);
if(isset($user->id)){
//validasi password
if(!password_verify($password, $user->password)){
$this->status = 1707;
$this->message = 'Invalid email or password';
$this->__json_out($data);
return false;
}
// kalau password cocok dengan yang ada di DB
// maka user dianggap sudah berhasil login
// karena sudah melewati 2 tahap ini
// sekarang tinggal simpan data user ke session
// dengan metode setKey();
//buat variabel $sess dulu, berisikan standar kelas kosong
$sess = new stdClass();
// buat object user,
// kemudian isi object tersebut dengan data user
// yang telah diambil sebelumnya
// dari database
$sess->user = $user;
// barulah setelah itu
// masukan variabel $sess
// kedalam parameter metode setKey()
$this->setKey($sess);
}else{
$this->status = 1707;
$this->message = 'Invalid email or password';
$this->__json_out($data);
return false;
}
}
.
.
.
}