Fonksiyon kapsamı
Fonksiyon içindeki değişkenlerin dışarıdan görünmediğini öğrenirsin.
Fonksiyon kapsamı
Fonksiyonun içinde tanımlanan değişkenler yerel değişken (local variable) adını alır ve dışarıdan görülmez. Yani function counter() { $n = 5; } tanımından sonra dışarıda echo $n; yazarsan PHP hata verir.
Bu davranış kapsam (scope) olarak bilinir. Her fonksiyonun kendi kapsamı vardır; dışarıdaki değişkenler otomatik olarak içeride görünmez. Bu sayede fonksiyonlar birbirinin değişkenlerini karıştırmaz.
global anahtar kelimesi
Dışarıdaki bir değişkeni fonksiyon içinde kullanmak istersen global anahtar kelimesi ile içe aktarabilirsin. Örnek: $score = 0; function addPoint() { global $score; $score += 1; }.
global kullanımı değişkeni kopyalamaz; fonksiyon içi ve dışı aynı değişkene erişir. Yine de çok sayıda global kullanımı kodu takip etmeyi zorlaştırır; dikkatli kullanmak gerekir.
Uygulama Yerel değişkenle sayaç yazdır
showCounter adında parametresiz bir fonksiyon tanımla. Gövdede $count = 1; yerel değişkenini tanımla ve echo $count . "\n"; ile yazdır. Sonra fonksiyonu çağır.
Örnek çözümü göster
function showCounter() { $count = 1; echo $count . "\n"; } yaz, sonra showCounter(); ile çağır.
Örnek çözüm:
<?php
// showCounter fonksiyonunu tanımla; içinde $count değişkeni olsun
function showCounter() {
$count = 1;
echo $count . "\n";
}
showCounter();
Kendini test et
-
Aşağıdaki kod ne yapar?
function show() { $city = "Ankara"; } show(); echo $city;- Ankara yazar
- show yazar
- Boş satır yazar
- Hata verir, $city tanımsızdır
Cevabı göster
Hata verir, $city tanımsızdır — Doğru. $city fonksiyona özeldir; dışarıda tanımsızdır.
-
global bildirimini tamamla
$price = 100; function showPrice() { ____ $price; echo $price; } showPrice();Cevabı göster
$price = 100; function showPrice() { global $price; echo $price; } showPrice(); -
Kapsam kavramlarını eşle
- Fonksiyon içinde tanımlı
- Yerel değişken
- global $n
- Dış değişkene erişir
- return'suz fonksiyon
- null döner