0Pricing
PHP Academy · Pelajaran

Operator Nullsafe dan Tipe Union

Gunakan ?-> untuk merangkai objek yang dapat bernilai null dengan aman dan deklarasikan petunjuk tipe union.

Operator Nullsafe dan Tipe Union adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.

Operator Nullsafe

PHP 8.0 memperkenalkan ?->. Jika sisi kiri bernilai null, seluruh rantai berhenti lebih awal dan mengembalikan null, bukan melempar kesalahan.

Masalah yang Diselesaikannya

Tanpa nullsafe, merangkai objek yang dapat bernilai null memerlukan pemeriksaan null yang panjang.

<?php
// Old way:
$city = null;
if ($user !== null && $user->getAddress() !== null) {
    $city = $user->getAddress()->getCity();
}

// PHP 8 nullsafe:
$city = $user?->getAddress()?->getCity();

Nullsafe dengan Pemanggilan Metode

Setiap ?-> dalam rantai diperiksa secara terpisah. Nilai null pertama menghentikan bagian rantai yang tersisa.

<?php
$name = $order?->getCustomer()?->getName() ?? "Guest";

Nullsafe dengan Properti

Operator ini juga berfungsi untuk mengakses properti.

<?php
$zip = $user?->address?->zip;

Nullsafe Tidak Melewati Efek Samping

Jika rantai nullsafe berhenti lebih awal, pemanggilan metode berikutnya dalam rantai tidak dijalankan—tidak ada efek samping yang terjadi.

Tipe Union

Tipe union PHP 8.0 memungkinkan Anda menyatakan bahwa parameter, properti, atau nilai kembalian menerima salah satu dari beberapa tipe.

<?php
function formatId(int|string $id): string {
    return (string) $id;
}

Contoh Tipe Union

Tipe union yang umum dalam praktik:

<?php
function process(int|float $amount): float {
    return (float) $amount;
}

function findUser(int|string $idOrEmail): ?User {
    // search by ID or email
}

Tipe Nullable

?Type adalah bentuk singkat dari Type|null—nilainya dapat berupa tipe tersebut atau null.

<?php
function greet(?string $name): string {
    return "Hello, ".($name ?? "stranger");
}

null dalam Tipe Union

Anda dapat menyertakan null secara eksplisit dalam tipe union: int|string|null.

Tipe Intersection (PHP 8.1)

PHP 8.1 menambahkan tipe intersection (A&B)—nilainya harus memenuhi semua tipe secara bersamaan. Tipe ini berguna untuk injeksi dependensi yang aman secara tipe.

<?php
function process(Iterator&Countable $collection): void {
    // $collection must be both Iterator AND Countable
}

Koersi Tipe dibandingkan strict_types

Tanpa declare(strict_types=1), PHP mungkin melakukan koersi nilai (misalnya "42" menjadi 42). Dengan mode ketat, hanya kecocokan tipe yang tepat yang diterima.

Ringkasan

Operator nullsafe (?->) menghilangkan pemeriksaan null yang berulang dalam rantai. Tipe union (int|string) memungkinkan tanda tangan fungsi yang fleksibel sekaligus aman secara tipe.

Pemeriksaan Singkat

Apa yang dikembalikan operator nullsafe jika sebuah metode dalam rantai mengembalikan null?

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Operator Nullsafe dan Tipe Union” gratis?

Ya — teks lengkap “Operator Nullsafe dan Tipe Union” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Operator Nullsafe dan Tipe Union”?

Gunakan ?-> untuk merangkai objek yang dapat bernilai null dengan aman dan deklarasikan petunjuk tipe union. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai PHP Academy?

Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Operator Nullsafe dan Tipe Union” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Ekspresi Match dan Argumen Bernama
  2. Operator Nullsafe dan Tipe Union
  3. Enumerasi (Enum)
  4. Fiber: Konkruensi Kooperatif
← Kembali ke PHP Academy