PHP Fonksiyonları
PHP'nin gerçek gücü, işlevlerinden gelir.
PHP'nin 1000'den fazla yerleşik işlevi vardır ve ayrıca kendi özel işlevlerinizi oluşturabilirsiniz.
PHP Yerleşik İşlevler
PHP, belirli bir görevi gerçekleştirmek için bir komut dosyası içinden doğrudan çağrılabilen 1000'den fazla yerleşik işleve sahiptir.
PHP yerleşik işlevlerine tam bir genel bakış için lütfen PHP referansımıza bakın .
PHP Kullanıcı Tanımlı Fonksiyonlar
Yerleşik PHP işlevlerinin yanı sıra kendi işlevlerinizi oluşturmanız da mümkündür.
- İşlev, bir programda tekrar tekrar kullanılabilen bir ifade bloğudur.
- Bir sayfa yüklendiğinde bir işlev otomatik olarak yürütülmez.
- Bir işlev, işlev çağrısıyla yürütülür.
PHP'de Kullanıcı Tanımlı Bir İşlev Oluşturun
Kullanıcı tanımlı bir işlev bildirimi şu kelimeyle başlar function
:
Sözdizimi
function functionName()
{
code to be executed;
}
Not: Bir işlev adı bir harf veya alt çizgi ile başlamalıdır. İşlev adları büyük/küçük harfe duyarlı DEĞİLDİR.
İpucu: İşleve, işlevin ne yaptığını yansıtan bir ad verin!
Aşağıdaki örnekte "writeMsg()" adında bir fonksiyon oluşturuyoruz. Açılış küme ayracı ( { ) fonksiyon kodunun başlangıcını ve kapanış küme ayracı ( } ) fonksiyonun sonunu gösterir. İşlev, "Merhaba dünya!" verir. İşlevi çağırmak için adını ve ardından parantez () yazmanız yeterlidir:
Örnek
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
?>
PHP İşlev Argümanları
Bilgiler, argümanlar aracılığıyla fonksiyonlara iletilebilir. Bir argüman tıpkı bir değişken gibidir.
Bağımsız değişkenler, işlev adından sonra parantez içinde belirtilir. İstediğiniz kadar argüman ekleyebilirsiniz, sadece virgülle ayırın.
Aşağıdaki örnekte tek bağımsız değişkenli ($fname) bir işlev vardır. familyName() işlevi çağrıldığında, ayrıca bir ad (örn. Jani) iletiriz ve ad, birkaç farklı ad, ancak eşit bir soyadı veren işlevin içinde kullanılır:
Örnek
<?php
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>
Aşağıdaki örnekte iki bağımsız değişkenli ($fname ve $year) bir işlev vardır:
Örnek
<?php
function familyName($fname, $year) {
echo "$fname Refsnes. Born in $year <br>";
}
familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>
PHP Gevşek Yazılan Bir Dildir
Yukarıdaki örnekte, değişkenin hangi veri tipinde olduğunu PHP'ye söylememiz gerekmediğine dikkat edin.
PHP, değerine bağlı olarak bir veri türünü değişkenle otomatik olarak ilişkilendirir. Veri türleri katı bir şekilde ayarlanmadığından, bir tamsayıya dize eklemek gibi işlemleri hataya neden olmadan yapabilirsiniz.
PHP 7'de tip bildirimleri eklendi. Bu bize bir işlev bildirirken beklenen veri türünü belirtme seçeneği sunar ve bildirimi ekleyerek strict
veri türü uyuşmazsa "Önemli Hata" verir.
Aşağıdaki örnekte, işleve kullanmadan hem bir sayı hem de bir dize göndermeye çalışıyoruz strict
:
Örnek
<?php
function addNumbers(int $a, int $b) {
return $a
+ $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is
changed to int(5), and it will return 10
?>
Belirtmek strict
için ayarlamamız gerekiyor declare(strict_types=1);
. Bu, PHP dosyasının ilk satırında olmalıdır.
Aşağıdaki örnekte fonksiyona hem sayı hem de dizge göndermeye çalışıyoruz, ancak burada strict
bildirimi ekledik:
Örnek
<?php declare(strict_types=1); // strict requirement
function
addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5
days");
// since strict is enabled and "5 days" is not an integer, an
error will be thrown
?>
Beyanname , strict
şeyleri amaçlanan şekilde kullanılmaya zorlar.
PHP Varsayılan Argüman Değeri
Aşağıdaki örnek, varsayılan bir parametrenin nasıl kullanılacağını gösterir. setHeight() işlevini argümanlar olmadan çağırırsak, argüman olarak varsayılan değeri alır:
Örnek
<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>
PHP İşlevleri - Değerleri döndürme
Bir işlevin bir değer döndürmesine izin vermek için şu return
ifadeyi kullanın:
Örnek
<?php declare(strict_types=1); // strict requirement
function sum(int $x,
int $y) {
$z = $x + $y;
return $z;
}
echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>
PHP Dönüş Tipi Bildirimleri
PHP 7, deyim için Tür Bildirimlerini de destekler return
. İşlev bağımsız değişkenleri için tür bildiriminde olduğu gibi, katı gereksinimi etkinleştirerek, bir tür uyuşmazlığında "Önemli Hata" verir.
İşlev dönüşü için bir tür bildirmek için, işlevi
bildirirken iki nokta üst üste ( :
) ve giriş küme parantezinin ( ) hemen önüne bir tür ekleyin.{
Aşağıdaki örnekte, işlevin dönüş türünü belirtiyoruz:
Örnek
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
Bağımsız değişken türlerinden farklı bir dönüş türü belirtebilirsiniz, ancak dönüşün doğru tür olduğundan emin olun:
Örnek
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>
Referansa Göre Argümanları Geçme
PHP'de argümanlar genellikle değere göre iletilir, bu da değerin bir kopyasının işlevde kullanıldığı ve işleve iletilen değişkenin değiştirilemeyeceği anlamına gelir.
Bir işlev bağımsız değişkeni başvuru yoluyla iletildiğinde, bağımsız değişkende yapılan değişiklikler, iletilen değişkeni de değiştirir. Bir işlev bağımsız değişkenini başvuruya dönüştürmek için &
operatör kullanılır:
Örnek
Bir değişkeni güncellemek için referansa göre bir argüman kullanın:
<?php
function add_five(&$value) {
$value += 5;
}
$num
= 2;
add_five($num);
echo $num;
?>