PHP

Regular Expressions (Düzenli İfadeler)

Adından da anlaşıldığı üzere bir metnin içindeki verinin, belli kurallara göre değiştirilmesi veya bulunması işlemidir.

Test için http://www.regexr.com/ adresini kullanabilirsiniz.

Dot Matches (Nokta Eşleşmeleri)

. herhangi bir karakteri temsil eder. /./ ifadesini uyguladığımızda metindeki tüm veriyi seçer.

SnapCrab_No-0006

Herhangi bir veriyi veya verileri seçmek istiyorsak eğer

SnapCrab_No-0007

Optional (?)

Bir karakteri veya karakterleri isteğe bağlı olarak var veya yok sayar.

Örneğin bir metinde “color” kelimesini aradığımızda aynı zamanda, aynı manada olan “colour” kelimesini de aramamız gerekir.  u karakterinin isteğe bağlı olması gerekir.

SnapCrab_No-0008

 

Birden fazla karakter isteğe bağlı olduğu zaman ()?  parantezin içine yazılır.

SnapCrab_No-0009

Character Set [A-Za-z0-9]

Bize karakter tanım aralığı sunar. [0-9], [1-5], [a-z], [A-Z], [@_#], [İÜ] vs.

SnapCrab_No-0011

SnapCrab_No-0012SnapCrab_No-0013 SnapCrab_No-0014

 

Multiple * +

* karakterin veya karakterlerin hiç olmaması veya tekrarlanmasıdır. Örneğin e*

+ karakterin veya karakterlerin 1 defa olması veya tekrarlamasıdır. Örneğin e+

SnapCrab_No-0015 SnapCrab_No-0016

 

Quanfiers {}

Belli bir aralıkta karakterin veya karakterlerin devam etmesidir. Örnek e{1}, [a-z]{5} vs.

SnapCrab_No-0021 SnapCrab_No-0022 SnapCrab_No-0023

Alternations |

Birkaç hecenin (karakterlerin) veya işlemine tabi tutulmasıdır.

SnapCrab_No-0017SnapCrab_No-0018

 

Anchors & Flags

^ Satır başını temsil eder.

$ Satır sonunu temsil eder.

Flags

i: ignore case (küçük-büyük harf duyarsız)

g: global

m: multiline (birden çok satır)

SnapCrab_No-0024

Groups ()

Grupların yakalanması (bulunması) işlemidir.

SnapCrab_No-0019

 

1. parantez $1, 2. parantez $2 dir. Biz adresleri alacağımız için bu parantezleri iptal edip (?:) metnin tamamını parantez içine alırız.

SnapCrab_No-0020

 

PHP Kullanım

 

JavaScript Kullanım

 

Hayırlı günler, sağlıcakla kalın.

Bu döküman www.ibasoglu.com’a aittir. Kaynak belirtmek suretiyle alıntı yapılabilir.

TCMB Kurlar

Class

 

Kullanımı

SnapCrab_No-0005

PHP OOP Oto Sınıf Yükleme (Autoloading Class) Metodu

Selamün Aleyküm Arkadaşlar;

Bir sınıfı türettirmeden önce __autoload($sinif_isim) fonksiyonu tetiklenir. Bu yöntem her defasında sınıfın olduğu sayfayı entegre etmememizi sağlar. Yani otomatik olarak dahil edilir.

class klasöründe cls.ogr.php dosyasında ogr isminde sınıfımız olsun.

Bu şekilde ogr sınıfını türettirdiğimiz zaman hata meydana gelir. Çünkü sınıfımız class/cls.ogr.php içinde olduğu için. Onu sayfaya dahil etmemiz gerekir. Bu işlemleri include, include_once, require, require_once komutlarıyla sayfayı dahil ederiz. Ama biz burada __autoload metodunu kullanacağız.

ogr sınıfı türetilmeden önce __autoload metodu çalışır. require_once ‘class/cls.ogr.php’ dosyasını dahil eder. Sonra ogr sınıfı türetilir.

Sınıf türetilirken hata meydana gelebilir. Hatayı yakalamak için try catch bloklarını kullanabiliriz. Bu özellik PHP 5.3.0 dan beri vardır. Önceki sürümlerde çalışmaz.

ogr1 sınıfı olmadığı için catch bloğu çalıştırılacaktır.

 

Hayırlı günler, sağlıcakla kalın.

Bu döküman www.ibasoglu.com’a aittir. Kaynak belirtmek suretiyle alıntı yapılabilir.

PHP OOP Sihirli Yöntemler (Magic Methods)

Selamün Aleyküm Arkadaşlar;

PHP’nin sınıflara ait bazı özel metodları vardır.

__call()
Tanımlanmayan bir metod çağırıldığı zaman tetiklenir. İki parametre alır. Çağırılan metod ismi ve metoda gönderilen parametre-ler.

 

__callStatic()
PHP 5.3.0 sürümünde eklenmiştir. Tanımlı olmayan bir static metodu çağırdığımızda tetiklenir. Parametre olarak çağırılan metod ismi ve parametre-leri alır.

 

__get($degiskenisim)
Bir değişkeni çağırdığınızda o değişken sınıfta yoksa __get($degiskenisim) metodu tetiklenir. Parametre olarak değişken ismini verir.

ad1 değişkeni ogr sınıfında tanımlı olmadığı için __get metodu tetiklenir.

 

__set($degiskenisim, $degiskendeger)
Tanımlı olmayan bir değişkene değer atanmaya çalışıldığında tetiklenir. Parametre olarak iki tane parametre alır. Değişken ismi ve değişken değer.

ad1 degişkeni tanımlı olmadığı ve değer atamaya çalıştığımız zaman __set metodu tetiklenir.

 

__invoke()
Bu özellik PHP 5.3.0’dan beri eklenmiştir. Sınıfa bir parametre gönderdiğimiz zaman tetiklenir. Kullanımı şu şekildedir.

 

__tostring()
Sınıf ekrana çıktılandığında çalışır. Yani türettiğimiz bir sınıfa echo, print uygularsak __tostring() metodu tetiklenir. Geriye yazılacak bir nesne göndermelidir.

echo $ogr komutuyla __tostring() metodu tetiklendi ve return’le dönen kayıt çıktı olarak yazıldı.

 

__clone()
Bir değişkende bulunan sınıfı başka bir değişkene klonladığımızda __clone() metodu tetiklenir.

 

Hayırlı günler, sağlıcakla kalın.

Bu döküman www.ibasoglu.com’a aittir. Kaynak belirtmek suretiyle alıntı yapılabilir.

PHP OOP Giriş

Selamün Aleyküm Arkadaşlar;

PHP OOP’nin (Object Oriented Programming – Nesne Yönelimli Programlama) temeli sınıflardan (class) oluşur.

PHP’de sınıf (class) tanımlaması şu şekilde yapılır:

Oluşturduğumuz sınıfı kullanabilmemiz için onun görüntüsünü (instance) oluşturmamız gerekir. Görüntüsünü oluşturmak için new kodunu kullanırız.

$değisken adındaki bir değişkene (variable) sınıfımızın görüntüsü atadık.

Sınıfımızda değişken tanımlamak istersek eğer bir erişim sağlayıcısıyla (public, private, protected) beraber yazmamız gerekir. Yoksa PHP’de hata meydana gelir.

Fonksiyon (Function)

PHP’de fonksiyonlar (function) iki türlüdür. Geriye değer döndüren veya döndürmeyen.

Eğer geriye değer döndüreceksek return komutunu kullanırız.

Fonksiyonun alt program olarak kullanımı:

Bir fonksiyona dışarıdan parametre yollarak kullanılması:

Bir fonksiyondan sınıfımıza ait bir değişkene veya metoda erişmemiz için $this kodunu kullanırız.

 

Yapıcı (__construct) Metod

Sınıf türetildiği zaman ilk tetiklenecek metoddur. Geriye değer döndüremez.

Yıkıcı (__destruct) Metod

Sınıf türetildikten sonra, en son tetiklenir. Sınıf kapatılırken yok edildiği anda çalışan metoddur. Sınıfta Exit() metoduyla sonlarılsa dahi bu metod çalışır.

static Anahtar Sözcüğü

static olarak tanımlanmış, sınıf özelliklerine veya yöntemlerine türettirmeden ulaşabiliriz. Normal olarak türetilmiş bir sınıftan static olan nesneye erişilemez. isim::$staticnesneisim olarak erişilebilir. Sınıfta oluşturulmuş bir static nesneye sınıftan self::$staticnesneisim olarak erişilir.

 

Hayırlı günler, sağlıcakla kalın.

Bu döküman www.ibasoglu.com’a aittir. Kaynak belirtmek suretiyle alıntı yapılabilir.

İç İçe Fonksiyonun (Recursive Function) PHP’de kullanımı

Selamün Aleyküm Arkadaşlar;

Fonksiyonun içinde işlem bitene kadar, tekrar tekrar o fonksiyonu çağırabiliriz. Bu işleme iç içe fonksiyon (recursive function) denir.

Örnek olarak bir faktoriyel işlemini for döngüsüyle değilde, iç içe fonksiyonla yapalım.

Burada $n değişkeni sıfırdan farklı olduğu sürece döner. faktoriyel fonksiyonunu çağırır.

Adım adım işleme bakacak olursak:

Başka bir örnek olarak bir dizinin içinde olan değeri yazdıralım.

 

Hayırlı günler, sağlıcakla kalın.

Bu döküman www.ibasoglu.com’a aittir. Kaynak belirtmek suretiyle alıntı yapılabilir.