Cara membuat class Requests mirip laravel di php native

hallo gan, saya udah mempelajari video tutorial di sekolah koding tentang mini-framework dan sedikit sedikit mau dikembangin buat keperluan saya. jadi saya mau ada class Request untuk ngambil data dari post. itu logikanya gimana ya ? biar bisa jadi parameter method dan di gunakan mirip laravel. kalau pertanyaan saya kurang berkenan mohon maaf saya pemula :D

avatar fikriwado
@fikriwado

131 Kontribusi 41 Poin

Diperbarui 6 tahun yang lalu

6 Jawaban:

Hallo, apa ada yang bisa kasih pencerahan ?

avatar fikriwado
@fikriwado

131 Kontribusi 41 Poin

Dipost 6 tahun yang lalu

kalau ada yang tau tolong kasih pencerahan ya... :D

avatar fikriwado
@fikriwado

131 Kontribusi 41 Poin

Dipost 6 tahun yang lalu

bisa ambil data dari global variabel `$_SERVER`. Pada veriabel tsb terdapat banyak data yang dapat untuk membuat class request.

contoh di laravel ada

 $method = $request->method();

if ($request->isMethod('post')) {
    //
}

maka


Class Request{
private $server = [];

function __construct(){
$this->server = $_SERVER; // bisa juga pake dependency injection
}
//...

function method(){
return strtoupper($this->server['REQUEST_METHOD']);
}

function isMethod($method){
return $this->method() === strtoupper($method);
}

//...
}


avatar wbso
@wbso

6 Kontribusi 6 Poin

Dipost 6 tahun yang lalu

Kalo ambil value dari input text nya gimana ya ? Kan kalo di laravel simple tinggal $request->name

avatar fikriwado
@fikriwado

131 Kontribusi 41 Poin

Dipost 6 tahun yang lalu

 public function __construct()
    {
        $this->server = $_SERVER;

        if ($this->method() === 'POST') {
            $input = $_POST;
        } else {
            $input = $_GET;
        }

        foreach ($input as $key => $value) {
            $this->$key = $value;
        }
    }

kalau bingung dengan maksud $this->$key, bisa baca ini http://php.net/manual/en/language.variables.variable.php. $this->$key akan membuat property pada object, sesuai dengan input-name yang di input oleh user.

avatar wbso
@wbso

6 Kontribusi 6 Poin

Dipost 6 tahun yang lalu

kalo inisialisasinya yang ini bukan gan ?


$method = $request->method();

if ($request->isMethod('post')) {
    //
}

jadi kaya gini


public function store()
{
 $method = $request->method();

 if ($request->isMethod('post')) {
    //
 }
}

itu mungkin requestnya di taro di controller utama, soalnya kalo di parameter store nanti jadi nyari get kaya di video mini framework. apa bner atau bisa di ubah lagi gan ?

avatar fikriwado
@fikriwado

131 Kontribusi 41 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban