İşlev Tanımlama ve Çağırma
Parametreler ve dönüş değerleriyle kendi işlevlerinizi oluşturun.
İşlev Tanımlama ve Çağırma, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 1. 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.
İşlevler Neden Kullanılır?
İşlevler, yeniden kullanılabilir mantığı paketleyip ona bir ad vermenizi sağlar; böylece kodu tekrarlamadan işlevi birçok kez çağırabilirsiniz. Faydaları:
- Tekrardan kaçınma (DRY ilkesi)
- Daha kolay test etme ve hata ayıklama
- Kendini açıklayan kod
İşlev Tanımlama
function anahtar sözcüğünü, bir adı, isteğe bağlı parametreleri ve bir gövdeyi kullanın:
<?php
function greet(string $name): string {
return 'Hello, ' . $name . '!';
}
echo greet('Alice'); // Hello, Alice!Parametreler ve Argümanlar
Parametreler, tanımdaki değişken adlarıdır; argümanlar ise çağrı sırasında aktarılan gerçek değerlerdir:
<?php
function add(int $a, int $b): int {
return $a + $b; // $a and $b are parameters
}
$sum = add(3, 4); // 3 and 4 are arguments
echo $sum; // 7Döndürülen Değerler
Çağıran koda bir değer göndermek için return kullanın. return içermeyen bir işlev NULL döndürür:
<?php
function square(float $n): float {
return $n * $n;
}
function logMessage(string $msg): void {
echo '[LOG] ' . $msg . PHP_EOL;
// void functions must not return a value
}
echo square(4); // 16
logMessage('started'); // [LOG] startedDeğerle ve Referansla Aktarma
PHP, varsayılan olarak argümanları değerle (bir kopya olarak) aktarır. Referansla aktarmak için başına & ekleyin:
<?php
function doubleByValue(int $n): void {
$n *= 2; // changes only the local copy
}
function doubleByRef(int &$n): void {
$n *= 2; // changes the original
}
$x = 5;
doubleByValue($x);
echo $x; // 5 — unchanged
doubleByRef($x);
echo $x; // 10 — changedBirden Çok Değer Döndürme Noktası
Bir işlev, erken çıkışlar için birden çok return deyimine sahip olabilir:
<?php
function divide(float $a, float $b): ?float {
if ($b === 0.0) {
return null; // early return on error
}
return $a / $b;
}
var_dump(divide(10, 0)); // NULL
echo divide(10, 2); // 5İşlevlerin Öne Alınması
PHP işlevleri, nerede tanımlandıklarından bağımsız olarak bir dosyanın her yerinde kullanılabilir; JavaScript'in aksine çoğu PHP işlevinin kullanılmadan önce bildirilmesi GEREKMEZ:
<?php
echo double(5); // 10 — works even though double is defined below
function double(int $n): int {
return $n * 2;
}
// Exception: functions inside conditionals ARE position-sensitiveÖzyinelemeli İşlevler
Kendini çağıran bir işlev özyinelemelidir. Sonsuz özyinelemeden kaçınmak için her zaman bir temel durum tanımlayın:
<?php
function factorial(int $n): int {
if ($n <= 1) return 1; // base case
return $n * factorial($n - 1); // recursive call
}
echo factorial(5); // 120Tür Bildirimleri
PHP 7+, parametre ve dönüş türü ipuçlarını destekler. PHP 8, mixed, never ve kesişim türlerini ekledi:
<?php
declare(strict_types=1);
function clamp(int $value, int $min, int $max): int {
return max($min, min($max, $value));
}
echo clamp(150, 0, 100); // 100
echo clamp(-5, 0, 100); // 0
echo clamp(42, 0, 100); // 42Adlandırılmış ve Yerleşik İşlevler
PHP, binlerce yerleşik işlevle birlikte gelir. Bir işlevin çalışma zamanında mevcut olup olmadığını her zaman denetleyebilirsiniz:
<?php
if (function_exists('mb_strlen')) {
echo mb_strlen('こんにちは'); // 5 — correct multi-byte length
} else {
echo strlen('こんにちは'); // 15 — byte count, wrong for UTF-8
}Birden Çok Değer Döndürme
Bir dizi döndürerek ve çağrı noktasında dizinin yapısını açarak birden çok değer döndürün:
<?php
function minMax(array $arr): array {
return [min($arr), max($arr)];
}
[$min, $max] = minMax([3, 1, 7, 2, 9]);
echo "Min: $min, Max: $max"; // Min: 1, Max: 9Hızlı Kontrol
Açık bir return deyimi olmayan bir PHP işlevi ne döndürür?
Özet: İşlevler
PHP işlevlerinin temel özellikleri:
function name(params): returnTypeile tanımlayın- Varsayılan olarak değerle,
&ile ise referansla aktarın - return içermeyen işlevler NULL döndürür
- Özyineleme bir temel durum gerektirir
- İşlevler dosyanın her yerinde kullanılabilir (öne alınma)
Sonraki konu: varsayılan ve değişken sayıda parametreler.
Sıkça Sorulan Sorular
“İşlev Tanımlama ve Çağırma” dersi ücretsiz mi?
Evet — “İşlev Tanımlama ve Çağırma” 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.
“İşlev Tanımlama ve Çağırma” dersinde ne öğreneceğim?
Parametreler ve dönüş değerleriyle kendi işlevlerinizi oluşturun. 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 1. dersidir.
“İşlev Tanımlama ve Çağırma” 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