Pendahuluan
Sebenarnya setelah melihat berbagai fitur di PHP 7, jujur saya menyesal kenapa harus ada.. Hehhee.. PHP 7 Bagus untuk seseorang yang baru mau mempelajari PHP dari tingkat pemula ke advance. Ada beberapa fitur yang baru dari PHP7 antara lain:
Null coalescing operator / Koalesking Operator
Untuk DBA mungkin Coalesce sudah menjadi istilah yang lazim, tapi untuk programmer mungkin agak jarang mendengarnya kecuali kalau memang pernah mengerjakan project yang khusus.
Pengertian Coalesce
Coalesce adalah sebuah fungsi yang dapat menentukan nilai default ketika suatu variable bernilai null. Null atau Nil sebenarnya bukan 0 (nol). Null bisa juga mematikan isi dari variable tersebut.
Untuk DBA, Fungsi Coalesce akan digunakan ketika ingin menarik data default untuk nilai null. Biasanya digunakan untuk relation key yang null. Sementara di PHP 7 fungsi ini sangat efektif. Fungsi ini akan mentrigger langsung bahkan menggantikan fungsi isset() yang mana fungsi ini merupakan hampir menjadi Core dalam setiap Framework PHP.
Berikut ini adalah contoh penggunaan kode Null Coalescing Operator yang di Kutip dari PHP dot Net
<?php // Fetches the value of $_GET['user'] and returns 'nobody' // if it does not exist. $username = $_GET['user'] ?? 'nobody'; // This is equivalent to: $username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; // Coalescing can be chained: this will return the first // defined value out of $_GET['user'], $_POST['user'], and // 'nobody'. $username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';
Bagaimana? Mengejutkan bukan… hehehe… XD
PHP SpaceShip
Wait..! Di php ada kapal luar angkasa? star wars dong. Bukan, SpaceShip merupakan operator <=> yang mana digunakan oleh PHP versi 7 ini untuk membandingkan variable kurang dari, lebih dari atau sama dengan.
Rumus SpaceShip
Berikut ini adalah rumus dari operator PHP 7 SpaceShip:
- Kurang Dari, memiliki nilai integer -1
- Lebih Dari, memiliki nilai integer +1
- Sama dengan, memiliki nilai 0
Adapun cara penggunaannya seperti yang di kutip dari PHP dot Net:
<?php // Integers echo 1 <=> 1; // 0 echo 1 <=> 2; // -1 echo 2 <=> 1; // 1 // Floats echo 1.5 <=> 1.5; // 0 echo 1.5 <=> 2.5; // -1 echo 2.5 <=> 1.5; // 1 // Strings echo "a" <=> "a"; // 0 echo "a" <=> "b"; // -1 echo "b" <=> "a"; // 1
Constant Array / Konstanta yang berisikan Array
Kabar gembira untuk pembuat framework. Sekarang, constant array dapat digunakan di PHP 7. Berikut ini adalah contoh kodenya
define('ANIMALS', [ 'dog', 'cat', 'bird' ]); echo ANIMALS[1]; // outputs "cat"
Anonymous classes
Anonymous classes biasanya ditemukan di JavaScript, sekarang bisa dilakukan di PHP 7.
<?php interface Logger { public function log(string $msg); } class Application { private $logger; public function getLogger(): Logger { return $this->logger; } public function setLogger(Logger $logger) { $this->logger = $logger; } } $app = new Application; $app->setLogger(new class implements Logger { public function log(string $msg) { echo $msg; } }); var_dump($app->getLogger());
Demikian.