PHP 8.1.31 Released!

Yerleşik işlevler

PHP standart olarak birçok işlev ve oluşum ile birlikte gelmektedir. Bunun yanında, özel PHP eklentilerinin derlenmesini gerektiren, aksi takdirde "tanımsız işlev" hatası üreten işlevler de mevcuttur. Örneğin, imagecreatetruecolor() gibi görüntü işlevlerini kullanabilmek için, PHP'yi GD desteğiyle derlemiş olmanız gerekir. Ya da, mysqli_connect() işlevini kullanabilmek için, PHP'nin MySQLi desteği ile derlenmiş olması gerekmektedir. Bunların yanında, bütün PHP sürümlerine eklenen dizge ve değişken işlevleri gibi birçok çekirdek işlev de mevcuttur. phpinfo() ya da get_loaded_extensions() işlevlerine yapılacak bir çağrı ile PHP'ye hangi eklentilerin yüklenmiş olduğunu görebilirsiniz. Birçok uzantı öntanımlı olarak etkinleştirilmiş olup PHP Kılavuzunda bu eklentilerle ilgili geniş bilgi verilmiştir. PHP'yi nasıl yapılandırmanız gerektiğiyle ilgili bilgiyi yapılandırma ve kurulum bölümleri ile eklerdeki özel bölümlerde bulabilirsiniz.

Kılavuzun işlev tanımı nasıl okunur bölümünde bir işlev tanımının nasıl okunup anlaşılabileceği ile ilgili bilgiler bulunmaktadır. Bir işlevin bir değer mi döndürdüğü yoksa aktarılan değerlerle sadece işlem mi yaptığını anlamak önemlidir. Örneğin, str_replace() değiştirilmiş dizgeyle dönerken, usort() sadece kendisine aktarılan değer üzerinde çalışır. Ayrıca, her kılavuz sayfasında her işlevin bağımsız değişkenleri, davranış değişiklikleri, başarı ya da başarısızlık durumunda döndürülen değerler ve kullanılabilirlik bilgileri bulunmaktadır. Bu önemli (ve sıklıkla algılanması güç) farklılıkların bilinmesi, doğru PHP kodunun yazılabilmesi için büyük önem taşımaktadır.

Bilginize: Bir işleve, işlevin kabul etmeyeceği bir bağımsız değişken (örneğin, bir dizge gerekirken bir dizi) belirtilmesi durumunda işlevin döndüreceği değer tanımsızdır (beklenen değer olmayabilir). Böyle bir durumda çoğunlukla null döner, fakat bu böyle düzenlenmiş demek değildir ve buna güvenilmemelidir. PHP 8.0.0 itibariyle, böyle bir durumda bir TypeError istisnası yavrulanması gerekir.

Bilginize:

Sayıl türler, zorlanmış kipteyken yerleşik işlevlerde öntanımlı olarak null olabilmektedir. PHP 8.1.0'dan itibaren nullable türünde bildirilmeyen bir dahili işlev bağımsız değişkenine null aktarılması önerilmemekte ve sayıl türlerin açıkça nullable olarak bildirilmesini gerektiren kullanıcı tanımlı işlevlerin davranışıyla uyum sağlamak için zorlanmış kipte kullanımdan kaldırma uyarısı çıktılanmaktadır.

Örneğin, strlen() işlevinin $dizge bağımsız değişkeninde string türünde bir değer alabileceği belirtilmiş, null olabileceği belirtilmemiştir. Geriye uyumluluk adına PHP zorlayıcı kipte bu bağımsız değişkene değer olarak null aktarılmasına izin vermekte olup bağımsız değişken örtük olarak string türüne dönüştürülmekte ve sonuçta değer "" olmaktadır. Katı kipte ise bunun aksine, TypeError çıktılanmaktadır.

<?php
var_dump
(strlen(null));
// "Önerilmiyor: string türündeki 1. bağımsız değişkene ($dizge) null aktarımı PHP 8.1.0 itibariyle önerilmiyor.
// int(0)

var_dump(str_contains("foobar", null));
// "Önerilmiyor: string türündeki 2. bağımsız değişkene ($iğne) null aktarımı PHP 8.1.0 itibariyle önerilmiyor.
// bool(true)
?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top