PHP Dersleri #14 – Sabitler (define – const ve Sihirli Sabitler)


kodportali.comPHP derslerine kaldığı yerden tüm hızıyla Sabitler (define – const ve Sihirli Sabitler) ile devam ediyoruz.

PHP ‘de Sabitler Ne İşe Yarar?

Sabitler basit bir değerin betimleyicisidir. Bu sabitler büyük küçük harf duyarlıdır ve kod çalışırken bu değerler değiştirilemez. Genelde sabit isimleri büyük harfle yazılır. İsim koyarken genel olarak tüm isimlerle aynı kurallar uygulanır. Eğer bir sabite geçersiz isim veya PHP kullanımına ayrılmış bir isim define işlevi ile atanmışsa bunu sadece constant fonksiyonu ile okuyabilirsiniz. Az sonra daha iyi anlayacaksınız.

define – const Sabitleri

define ve const PHP ‘de sabit belirtmek için kullanılır. Belli başlı özel kuralları vardır. Öncelikle Onlardan Bahsedelim

Sabitlerin Kuralları

  • Sabitler ‘$’ işareti ile başlayamaz.
  • Sabitler heryerden çağrılabilirler.
  • Sabitler tanımlandıktan sonra etkisiz hale getirilemez, değerleri değiştirilemez.
  • Sabitlerin değerleri bool, integer, float, string ve PHP 7.0 ‘dan itibaren array veri tipi dışında başka bir veri tipi olarak belirlenemez.

Sabitlerin Tanımlanması

const İle Tanımlanması

Yukarıdaki örneğimizde NAME sabitini kodportalı olarak atadık ve ekrana yazdırdık. Ardından URL ‘yide NAME sabiti ve sitesinin URLsi: diye bir string veri şeklinde atadık ve ekrana yazdırdık. Kodumuz çalıştığında ekrandaki çıktımız aşağıdaki gibi olacaktır.

define İle Tanımlanması

Yukarıdaki örneğimizde EXAMPLE ‘yi define fonksiyonu içinde bir sabit olarak belirttik.  1.parametreye sabitimizin adını ve ikinci parametreye sabitimizin değerini yazdık. Ardından ekrana yazdırdık. Ondan sonra EXAMPLE_OTHER adında bir sabit daha belirttik ve değerini ilk belirttiğimiz sabitle birlikte bir cümle ekleyip ekrana yazdırdık. Kodumuzu çalıştırdığımız zaman, kodumuzun çıktısı aşağıdaki gibi olacaktır.

NOT: Eğer objeye dayalı kodlama yapıyorsanız const ile belirttiğiniz sabiti class’dan static şekilde fonksiyon çeker gibi çekmeniz gerekir. define ise direk yazılarak tüm sınıflardan çağrılabilir. Bunu ileriki derslerimizde öğreniceksiniz.

Sihirli Sabitler

PHP, çalışan çok sayıda betiğe ön tanımlı sabit atar. İşde bu sihirli sabitler bu ön tanımlı sabitleri çekip kullanmamız içindir. Ama unutmayın bu sabitler sadece PHP içinde derlenmişsi kullanılabilir. Değerleri kullanıldıkları yere göre değişken toplam 9 farklı sihirli sabit vardır. Sihirli sabitler büyük küçük harfde duyarsızdır.

Sihirli Sabitlerin Listesi

Sihirli Sabitin Adıİşlevi / Açıklaması
__LINE__Dosyada tanımladığı yerdeki geçerli satırın numarasını içerir.
__FILE__Dosyanın tam dosya yolunu ve dosyanın ismini içerir.
__DIR__Dosyanın bulunduğu dizini içerir.
__FUNCTION__Tanımlandığı yerdeki fonksiyonun ismini veya anonimse {closure} içerir.
__CLASS__Kullanıldığı sınıfın adını içerir.
__TRAIT__Kalıtsal özellik ismi içerir.
__METHOD__Yöntem ismi içerir.
__NAMESPACE__Belirtilmiş geçerli isim alanının adını içerir.
ClassName::classTamamen nitelenmiş sınıfın ismini içerir.

Hadi Örnek İle Pekiştirelim

__LINE__ sabitini direk ekrana yazdırdık. Kodumuzu çalıştırdığımız zaman ekranda 3.satırda olduğu için 3 sayısını yazdırır.

constant İle Sabit Çekme

Baştada dediğimiz gibi constant ile önceden PHP tarafından kullanımı ayrılmış bir isim ile belirtilmiş bir sabit eğer define ile atanmışsa çekebiliriz. Direk örnek ile pekiştirelim.

Yukardaki örneğimizde define ile belirttiğimiz önceden tanımlı __LINE__ sihirli tabiti için ‘kodportali.com’ değerini atıyoruz ve constant fonksiyonu ile çekiyoruz. Kodumuzu çalıştırdığımızda ekranda ‘kodportali.com’ yazar. Eğer __LINE__ sabitini direk çekseydik satır sayısı yazardı. Evet bu dersimizinde burada sonuna geldik. Herhangi bir sorunuz olursa yorumlarda sorabilirsiniz.

Sitemizdeki tüm PHP dersleri için buraya tıklayabilirsiniz.

[Toplam:1    Ortalama:5/5]

Sizin Tepkiniz Nedir?

süper süper
1
süper
bilgilendirici bilgilendirici
2
bilgilendirici
beğenmedim beğenmedim
0
beğenmedim
beğendim beğendim
0
beğendim
Düşündürücü Düşündürücü
0
Düşündürücü
Anıl Mısırlıoğlu
Yazılım Mühendisi

0 Yorum

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bir format seçin
Kişisel Test
Kişiliğe dair bir şey ortaya çıkarmayı amaçlayan sorular dizisi
Basit Test
Bilgiyi kontrol etmek isteyen doğru ve yanlış cevaplı sorular dizisi
Anket
Karar vermek veya görüş belirlemek için oylama yapmak
Serbest Yazı
Yazılarınıza Görseller Bağlantılar Ekleyebilirsiniz
Liste
Klasik İnternet Listeleri
Geri Sayım Listesi
Klasik İnternet Geri Sayım Listeleri
Açık Liste
Kendi öğenizi gönderin ve en iyi sunum için oy verin
Oylanabilir Liste
En iyi liste öğesine karar vermek için yukarı veya aşağı basın
Fotoyla Anlatım
Kendi resimlerinizi yükleyin ve birşeyler anlatın
Video
Youtube, Vimeo veya Vine Kodları
Ses
Soundcloud veya Mixcloud İçerikleri
Görsel
Fotoğraf veya GIF
GIF
GIF Formatı