Image Source: flaticon
Pernah dengar istilah chain method sebelumnya ?, chain method adalah sebuah method dari class yang dapat kita panggil secara terus menerus sampai menampilkan hasil yang diinginkan. agak pusing ya ? :D, maaf ya itu memang pendapat saya aja.
ok, biar gak pusing, saya kasih contoh aja ya. misalnya ada sebuah string dengan nilai sebagai berikut
"h=ello+-w@orl+d"
string yang kita inginkan adalah "hello world"
maka umumnya kita akan menggunakan perintah str_replace() untuk mengganti/menghapus string yang tidak perlu, contoh umumnya seperti kutipan kode berikut
cukup panjang juga ya kan ?, dan agak susah juga untuk membaca code nya.
oleh karena itu, dalam artikel ini saya akan membuat contoh kode chain method untuk menghapus/mengganti sebuah string, berikut adalah class yang saya buat
<?php | |
/*this is example how to replace string with chain method*/ | |
class ChainMethod | |
{ | |
protected $str; | |
protected $json; | |
public function from($str) | |
{ | |
$this->str = $str; | |
return $this; | |
} | |
public function rep($val, $rep="") | |
{ | |
$this->str = \str_replace($val, $rep, $this->str); | |
return $this; // | |
} | |
public function raw() | |
{ | |
return $this->str; | |
} | |
public function get($key) | |
{ | |
$this->str = json_decode($this->str)->{$key}; | |
return $this; | |
} | |
public function json() | |
{ | |
return json_decode($this->str); | |
} | |
} | |
// example | |
// $data = (new ChainMethod())->from('\n/*hello""*/)}]')->rep('/*')->rep('*/')->rep('""')->rep(')]}')->rep("'\\n")->raw(); |
Jika menggunakan class diatas, kita hanya perlu menulis kode sebagai berkikut
ok, cukup mudah dipahami ya kan ?, silahkan dikembangkan sendiri
Comments
Post a Comment