- Katılım
- 2 Mar 2015
- Konular
- 59,185
- Mesajlar
- 88,381
- Online süresi
- 4ay 14g
- Reaksiyon Skoru
- 14,227
- Altın Konu
- 2,398
- Başarım Puanı
- 1,051
- TM Yaşı
- 11 Yıl 1 Ay 21 Gün
- MmoLira
- 694,336
- DevLira
- 234
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
PHP, fonksiyon tanımında değişkenleri ve bir sınıftaki özellikleri veya örnek değişkenleri bildirirken "tür ipuçları" kullanmayı destekler. PHP, yaygın olarak zayıf türlendirilmiş bir dil olarak kabul edilir. PHP'de, bir değişkene herhangi bir değer atamadan önce türünü bildirmeniz gerekmez.
PHP ayrıştırıcısı değişkenleri mümkün olduğunca uyumlu türlere dönüştürmeye çalışır. Bu nedenle, geçirilen değerlerden biri bir sayının dize gösterimiyse ve ikincisi sayısal bir değişkense, PHP toplama işlemini gerçekleştirmek için dize değişkenini sayısala dönüştürür.
Aşağıdaki çıktıyı üretecektir:
Ancak yukarıdaki örnekteki $x geçerli bir sayısal gösterimi tutmayan bir dizeyse, o zaman bir hatayla karşılaşırsınız.
Aşağıdaki çıktıyı üretecektir:
Tip ipucu verme, PHP 5.6 sürümünden itibaren desteklenir. Bu, kodunuzda bildirilen bir değişkenin beklenen tipini açıkça belirtebileceğiniz anlamına gelir. PHP, fonksiyon argümanlarına, dönüş değerlerine ve sınıf özelliklerine tip ipucu vermenize olanak tanır. Bununla, daha sağlam kod yazmak mümkündür.
Yukarıdaki programdaki toplama fonksiyonuna tür ipucu özelliğini dahil edelim.
Tip ipucu özelliği çoğunlukla IDE'ler (Bütünleşik Geliştirme Ortamı) tarafından, fonksiyon bildiriminde kullanılan parametrelerin beklenen tipleri hakkında kullanıcıya bilgi vermek için kullanılır.
Aşağıdaki şekil, yazarken VS Code düzenleyicisinin fonksiyon prototipini nasıl açtığını gösterir.
İmleç fonksiyon adının üzerine geldiğinde, parametreler ve dönüş değeri için tür bildirimleri görüntülenir.
Değişken bildirimlerinde yalnızca veri türlerini kullanmanın eşleşmeyen tür istisnasının ortaya çıkmasını engellemediğini unutmayın, çünkü PHP dinamik olarak türlendirilmiş bir dildir. Başka bir deyişle, $x="10" ve $y=20 yine de 30 olarak toplamayla sonuçlanacakken, $x="Hello" ayrıştırıcının hatayı ortaya çıkarmasına neden olur.
Şimdi, eğer $x "10" olarak ayarlanırsa, örtük dönüşüm gerçekleşmeyecek ve aşağıdaki hatayla sonuçlanacaktır:
VS Code IDE de aynı etkinin hatasını gösteriyor.
PHP 7'den itibaren, beklenmeyen dönüş değerlerini önlemek için fonksiyon dönüşleri için tip ipucu desteği genişletilmiştir. Parametre listesinden sonra iki nokta üst üste ( : ) sembolüyle öneklenen amaçlanan tipi ekleyerek dönüş değerlerine tip ipucu verebilirsiniz.
Burada da eğer fonksiyonun tam sayıdan farklı bir değer döndürdüğü tespit edilirse, IDE çalıştırmadan önce bunun sebebini belirtir.
Sınıf özelliklerinin bildiriminde tip ipuçlarının kullanılması da mümkündür.
Program geliştirme sırasında en sık karşılaşılan hatalar tip hatalarıdır. Tip ipucu özelliği bunların azaltılmasına yardımcı olur.
PHP ayrıştırıcısı değişkenleri mümkün olduğunca uyumlu türlere dönüştürmeye çalışır. Bu nedenle, geçirilen değerlerden biri bir sayının dize gösterimiyse ve ikincisi sayısal bir değişkense, PHP toplama işlemini gerçekleştirmek için dize değişkenini sayısala dönüştürür.
Örnek
Aşağıdaki örneğe bir göz atın.
PHP:
<?php
function addition($x, $y) {
echo "First number: $x Second number: $y Addition: " . $x+$y;
}
$x="10";
$y=20;
addition($x, $y);
?>
Aşağıdaki çıktıyı üretecektir:
First number: 10 Second number: 20 Addition: 30
Ancak yukarıdaki örnekteki $x geçerli bir sayısal gösterimi tutmayan bir dizeyse, o zaman bir hatayla karşılaşırsınız.
PHP:
<?php
function addition($x, $y) {
echo "First number: $x Second number: $y Addition: " . $x+$y;
}
$x="Hello";
$y=20;
addition($x, $y);
?>
Aşağıdaki çıktıyı üretecektir:
PHP Fatal error: Uncaught TypeError: Unsupported operand types: string + int in hello.php:5
Tip ipucu verme, PHP 5.6 sürümünden itibaren desteklenir. Bu, kodunuzda bildirilen bir değişkenin beklenen tipini açıkça belirtebileceğiniz anlamına gelir. PHP, fonksiyon argümanlarına, dönüş değerlerine ve sınıf özelliklerine tip ipucu vermenize olanak tanır. Bununla, daha sağlam kod yazmak mümkündür.
Yukarıdaki programdaki toplama fonksiyonuna tür ipucu özelliğini dahil edelim.
function addition($x, $y) {
echo "First number: $x Second number: $y Addition: " . $x+$y;
}
Tip ipucu özelliği çoğunlukla IDE'ler (Bütünleşik Geliştirme Ortamı) tarafından, fonksiyon bildiriminde kullanılan parametrelerin beklenen tipleri hakkında kullanıcıya bilgi vermek için kullanılır.
Aşağıdaki şekil, yazarken VS Code düzenleyicisinin fonksiyon prototipini nasıl açtığını gösterir.
strict_types (sıkı_türler)
PHP, tür dönüşümü için daha katı kurallar koyabilir, böylece "10" örtük olarak 10'a dönüştürülmez. Bu, strict_types yönergesini bir declare() ifadesinde 1 olarak ayarlayarak uygulanabilir. declare() ifadesi, PHP kodundaki ilk ifade olmalı, " <?php " etiketinden hemen sonra onu bulabilirsiniz.Örnek
Aşağıdaki çıktıyı üretecektir :First number: 10 Second number: 20 Addition: 30
Şimdi, eğer $x "10" olarak ayarlanırsa, örtük dönüşüm gerçekleşmeyecek ve aşağıdaki hatayla sonuçlanacaktır:
PHP Fatal error: Uncaught TypeError: addition(): Argument #1 ($x) must be of type int, string given
VS Code IDE de aynı etkinin hatasını gösteriyor.
Örnek
Yukarıdaki toplama fonksiyonunun dönüş değerine bir tip ipucu ekleyelim.
PHP:
<?php
declare (strict_types=1);
function addition(int $x, int $y) : int {
return $x+$y;
}
$x=10;
$y=20;
$result = addition($x, $y);
echo "First number: $x Second number: $y Addition: " . $result;
?>
Burada da eğer fonksiyonun tam sayıdan farklı bir değer döndürdüğü tespit edilirse, IDE çalıştırmadan önce bunun sebebini belirtir.
Birlik Türleri
PHP, 8.0 sürümüyle birlikte birleşim türlerini tanıttı. Artık tek bir bildirim için birden fazla tür belirtebilirsiniz. Veri türleri " | " sembolüyle ayrılır.Örnek
Aşağıdaki addition() fonksiyonunun tanımında, $x ve $y argümanları int veya float türünde olabilir.
PHP:
<?php
declare (strict_types=1);
function addition(int|float $x, int|float $y) : float {
return $x+$y;
}
$x=10.55;
$y=20;
$result = addition($x, $y);
echo "First number: $x Second number: $y Addition: " . $result;
?>
Sınıfta Tip İpucu
PHP'de 7.4 sürümünden itibaren sınıf özelliklerinin ve metotlarının bildiriminde tip ipuçlarını kullanabilirsiniz.Örnek
Aşağıdaki örnekte, sınıf oluşturucusu tür ipuçlarını kullanır.
PHP:
<?php
declare (strict_types=1);
class Student {
public $name;
public $age;
public function __construct(string $name, int $age) {
$this->name = $name;
$this->age = $age;
}
public function dispStudent() {
echo "Name: $this->name Age: $this->age";
}
}
$s1 = new Student("Amar", 21);
$s1->dispStudent();
?>
Sınıf özelliklerinin bildiriminde tip ipuçlarının kullanılması da mümkündür.
PHP:
class Student {
public string $name;
public int $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function dispStudent() {
echo "Name: $this->name Age: $this->age";
}
}
Program geliştirme sırasında en sık karşılaşılan hatalar tip hatalarıdır. Tip ipucu özelliği bunların azaltılmasına yardımcı olur.

