Nullsafe Operatörü ve Birleşim Türleri
Boş değer alabilen nesneleri güvenle zincirlemek için ?-> kullanın ve birleşim türü ipuçlarını tanımlayın.
Nullsafe Operatörü ve Birleşim Türleri, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.
Nullsafe İşleci
PHP 8.0, ?-> işlecini kullanıma sundu. Sol taraf null ise zincirin tamamı kısa devre yapar ve hata oluşturmak yerine null döndürür.
Çözdüğü Sorun
Nullsafe olmadan, null olabilen nesneleri zincirlemek ayrıntılı null denetimleri gerektirir.
<?php
// Old way:
$city = null;
if ($user !== null && $user->getAddress() !== null) {
$city = $user->getAddress()->getCity();
}
// PHP 8 nullsafe:
$city = $user?->getAddress()?->getCity();Yöntem Çağrılarıyla Nullsafe
Zincirdeki her ?-> ayrı ayrı denetlenir. İlk null değeri zincirin geri kalanını kısa devre yapar.
<?php
$name = $order?->getCustomer()?->getName() ?? "Guest";Özelliklerle Nullsafe
Özellik erişimiyle de çalışır.
<?php
$zip = $user?->address?->zip;Nullsafe Yan Etkileri Atlamaz
Nullsafe zinciri kısa devre yaptığında zincirdeki sonraki yöntem çağrıları yürütülmez; hiçbir yan etki tetiklenmez.
Birleşim Türleri
PHP 8.0'ın birleşim türleri, bir parametrenin, özelliğin veya dönüş değerinin çeşitli türlerden birini kabul ettiğini bildirmenizi sağlar.
<?php
function formatId(int|string $id): string {
return (string) $id;
}Birleşim Türü Örnekleri
Uygulamada yaygın birleşim türleri:
<?php
function process(int|float $amount): float {
return (float) $amount;
}
function findUser(int|string $idOrEmail): ?User {
// search by ID or email
}Null Olabilen Türler
?Type, Type|null için kısa yazımdır; değer bu türde olabilir veya null olabilir.
<?php
function greet(?string $name): string {
return "Hello, ".($name ?? "stranger");
}Birleşim Türlerinde null
Birleşim türüne null değerini açıkça dahil edebilirsiniz: int|string|null.
Kesişim Türleri (PHP 8.1)
PHP 8.1, kesişim türlerini (A&B) ekledi; değer, tüm türlerin koşullarını aynı anda karşılamalıdır. Tür güvenli bağımlılık enjeksiyonu için kullanışlıdır.
<?php
function process(Iterator&Countable $collection): void {
// $collection must be both Iterator AND Countable
}Tür Dönüşümü ve strict_types
declare(strict_types=1) olmadan PHP, değerleri dönüştürebilir (ör. "42" değerini 42'ye). Katı kipte yalnızca tam tür eşleşmeleri kabul edilir.
Özet
Nullsafe işleci (?->), zincirlerdeki tekrarlanan null denetimlerini ortadan kaldırır. Birleşim türleri (int|string), esnek ancak tür güvenli işlev imzalarına olanak tanır.
Hızlı Kontrol
Zincirdeki bir yöntem null döndürürse nullsafe işleci ne döndürür?
Sıkça Sorulan Sorular
“Nullsafe Operatörü ve Birleşim Türleri” dersi ücretsiz mi?
Evet — “Nullsafe Operatörü ve Birleşim Türleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.
“Nullsafe Operatörü ve Birleşim Türleri” dersinde ne öğreneceğim?
Boş değer alabilen nesneleri güvenle zincirlemek için ?-> kullanın ve birleşim türü ipuçlarını tanımlayın. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
PHP Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Nullsafe Operatörü ve Birleşim Türleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Match İfadesi ve Adlandırılmış Bağımsız Değişkenler
- Nullsafe Operatörü ve Birleşim Türleri
- Numaralandırmalar (Enum'lar)
- Fiber'lar: İşbirlikçi Eşzamanlılık