Varsayılan ve Değişken Sayıda Parametreler
PHP işlevlerinde varsayılan değerleri ve değişken sayıda bağımsız değişkenleri kullanın.
Varsayılan ve Değişken Sayıda Parametreler, 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.
Varsayılan Parametre Değerleri
Varsayılan değerler, çağıranların argümanları atlamasına olanak tanır. Argüman iletilmediğinde varsayılan değer kullanılır:
<?php
function createUser(string $name, string $role = 'viewer'): string {
return "$name ($role)";
}
echo createUser('Alice'); // Alice (viewer)
echo createUser('Bob', 'admin'); // Bob (admin)Varsayılan Değer Kuralları
Varsayılan parametrelerle ilgili önemli kurallar:
- Varsayılan değere sahip parametreler, gerekli parametrelerden sonra gelmelidir
- Varsayılan değerler sabit ifadeler olmalıdır — işlev çağrıları veya değişkenler kullanılamaz
- PHP 8'deki adlandırılmış argümanlar, sıralama gereksinimini esnetir
NULL Değerine İzin Veren Parametreler
NULL değerini geçerli bir argüman olarak kabul etmek ve varsayılan değer olarak NULL kullanmak için ?type kullanın:
<?php
function findUser(?int $id = null): string {
if ($id === null) {
return 'Searching all users';
}
return "User #$id";
}
echo findUser(); // Searching all users
echo findUser(42); // User #42... ile Değişken Sayıda Argüman Alan Fonksiyonlar
Bir parametrenin önünde ... kullanarak değişken sayıda argümanı dizi olarak kabul edin:
<?php
function sum(int ...$numbers): int {
return array_sum($numbers);
}
echo sum(1, 2, 3); // 6
echo sum(10, 20, 30, 40); // 100Gerekli Parametrelerle Değişken Sayıda Argüman
Gerekli parametreleri, sonda değişken sayıda argüman alan bir parametreyle birlikte kullanabilirsiniz:
<?php
function logMessage(string $level, string ...$messages): void {
foreach ($messages as $msg) {
echo "[$level] $msg" . PHP_EOL;
}
}
logMessage('INFO', 'App started', 'Config loaded');Çağrıda Yayma Operatörü
Bir işlevi çağırırken diziyi ayrı argümanlar olarak yaymak için ... kullanın:
<?php
function add3(int $a, int $b, int $c): int {
return $a + $b + $c;
}
$args = [1, 2, 3];
echo add3(...$args); // 6
$extra = [4, 5];
echo add3(1, ...$extra); // 10Adlandırılmış Argümanlar (PHP 8)
Adlandırılmış argümanlar, değerleri sıralamayı yok sayarak parametre adına göre geçirmenize olanak tanır:
<?php
function createTag(string $tag, string $content, string $class = ''): string {
$cls = $class ? " class=\"$class\"" : '';
return "<$tag$cls>$content</$tag>";
}
// Skip $class, pass $content by name
echo createTag(content: 'Hello', tag: 'p');
// <p>Hello</p>Yerleşik Fonksiyonlarla Adlandırılmış Argümanlar
Adlandırılmış argümanlar, PHP'nin yerleşik işlevleriyle de çalışır:
<?php
$arr = [3, 1, 4, 1, 5];
// Traditional positional
$result1 = array_slice($arr, 1, 3);
// Named arguments
$result2 = array_slice(array: $arr, offset: 1, length: 3);
print_r($result1); // [1, 4, 1]func_get_args() Eski Kullanımı
PHP 5.6'daki değişken sayıda argüman söz diziminden önce, tüm argümanlara erişmek için func_get_args() kullanılırdı. Bu işlevi eski kodlarda görebilirsiniz:
<?php
function legacySum(): int {
$args = func_get_args();
return array_sum($args);
}
echo legacySum(1, 2, 3, 4); // 10
// Modern: use int ...$numbers insteadTür Belirtilmiş Değişken Sayıda Parametre
Katı girdi denetimi için tür ipuçlarını değişken sayıda parametrelerle birleştirin:
<?php
declare(strict_types=1);
function joinStrings(string $sep, string ...$parts): string {
return implode($sep, $parts);
}
echo joinStrings('-', 'a', 'b', 'c'); // a-b-c
// joinStrings('-', 'a', 42); // TypeError in strict modeVarsayılan ve Adlandırılmış Parametreleri Birleştirme
Adlandırılmış argümanlar ve varsayılan değerler birlikte kullanıldığında size en yüksek esnekliği sağlar:
<?php
function sendEmail(
string $to,
string $subject,
string $body = '',
bool $html = false
): bool {
// simulate send
return true;
}
// Skip $body, pass $html by name
sendEmail('a@b.com', 'Hi', html: true);Hızlı Kontrol
Bir PHP işlevinin tanımında ... operatörü ne işe yarar?
Özet: Varsayılan ve Değişken Sayıda Parametreler
Özet:
- Varsayılan değerler, isteğe bağlı parametreler kullanmanıza olanak tanır
- Varsayılan değerlere sahip parametreler, gerekli parametrelerden sonra gelir
?type, isteğe bağlı varsayılan değerle birlikte NULL kullanımına olanak tanır...$args, değişken sayıdaki argümanları bir dizide toplar- Yayma operatörü
...$arr, çağrı noktasında bir diziyi genişletir - Adlandırılmış argümanlar (PHP 8), konuma göre değil ada göre geçirilir
Sıkça Sorulan Sorular
“Varsayılan ve Değişken Sayıda Parametreler” dersi ücretsiz mi?
Evet — “Varsayılan ve Değişken Sayıda Parametreler” 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.
“Varsayılan ve Değişken Sayıda Parametreler” dersinde ne öğreneceğim?
PHP işlevlerinde varsayılan değerleri ve değişken sayıda bağımsız değişkenleri kullanı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.
“Varsayılan ve Değişken Sayıda Parametreler” 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
- İşlev Tanımlama ve Çağırma
- Varsayılan ve Değişken Sayıda Parametreler
- Değişken Kapsamı: Yerel ve Genel
- Anonim İşlevler ve Kapanışlar