PHP OOP Kullanımı (PHP Nesne Tabanlı Programlama – Object Oriented Programing)

PHP OOP Kullanımı (PHP Nesne Tabanlı Programlama – Object Oriented Programing)

Tarhi : 03-02-2021 03:19:54 | Yazar : ÇAĞLAR BOSTANCI

Merhaba arkaşdaşlar php 5.4 sürümü OOP (Object Oriented Programing) nesneye dayalı programlama nedir nasıl kullanılır onun üzerinde duracağız. Bildiğiniz gibi bir çok yazılım dili OOP’yi desteklemekte. OOP peki sisteme ne getiriyor? yazılım konusunda oluşturmuş olduğunuz sınıfları başka projelerde de kullanabiliyorsunuz. Sonra daha profesyonel bir yazılıma geçerek sizin yazmış olduğunuz kodlara diğer yazılımcılarda müdahale edebiliyor. Bu sayede bir çok yazılımcı bir projeyi geliştirirken OOP mantığıyla geliştirecek ve obez bir yazılım ortaya çıkmamış olacak. PHP OOP’yi öğrendiğinizde php ile yazılmış frameworkleri kullanabilir hatta geliştirebilirsiniz. Bu sayede en kısa sürede projelerinizi hayata geçirirsiniz. Hatta sizlerin PHP Nesen Tabanlı Programlama ile yazdığınız uygulamaları bu gibi frameworklere paket olarak sunabilirsiniz. Nesene tabanlı programlamanın yapası, mantığı ve kullanımı C++,C#,Java,python vb. bir çok yazılım dilinde hemen hemen aynıdır. Bu sebepten bir dilde Nesne tabanlı programlamayı öğrendiğinizde diğer dilleride öğrenmiş oluyorsunuz. Gelin sizinle birlikte PHP Nesne tabanlı programlamaya bir giriş yapalım.

Bir sınıf oluşturalım:

Öğrenci adında bir sınıf oluşturduk. Bütün metod ve değişkenler {} parantez blokları içine tanımlanır. Funksiyondan ayıran kısım parametre gönderim alanın olmamasıdır ogrenci(). Ayrı bir önemli nokta ise class isimler bakıldığınında ne için yazıldığı anlaşılacak bir isim vermeye gayret edin. Bana kalırsa her sınıfın ve fonksiyonun başınada sizi temsil eden ön tag_ yerleştirin.

Sınıfımıza bir değişken yazalım ve bir de fonksiyon oluşturalım

PHP $this-> Metodu Kullanımı

This metodu sınıf içersinde tanımlanmış olan bir nesneye veya fonksiyona ulaşabilmek için kullanılır. Sayfada ilgili sınıfı oluşturuken new metodu ile new t1_ogrenci() şeklinde oluşturduk. Farklı değişkenlere new t1_ogrenci() şeklinde tanımlamanız yeni sınıfların oluşmasını sağlayacaktır ve bu sınıflar birbirinden bağımsızdır.

Yukarıda aynı sınıftan iki tane farklı öğrenci sınıfı oluşturduk. Yine sınfıtaki fonksiyonlarıda $this->ogrIsimYaz() metodu ile çalıştırırken sayfada ise atadığmız değiken $ogrenciSinif->ogrIsimYaz() şekilinde çalıştırıyoruz.

__construct ve __destruct Kullanımı (Kurucu ve Yıkıcı Metodlar)

Bir sınıf çağrılacağından çağrılma esansında, sınıf oluşturulurken yapılması gereken işler varsa ve o işler her sınıf çağırıldığında yapılıyorsa bu gibi işlemler __construct kısmıda yazıyoruz. Aynı zamamda sınıf oluşturulurken parametre (veri) göndermemizide sağlıyor.

Veri tabanı bilgileri sınıf çağırlırken parametre olarak girildi ve sınıfın ön yükleyicisi __construct bunları sınıf içerisindeki değişkenlere atandı. __destrcut sihirli metodu ise sınıfın sonunuda yıkıcı, yok edici metod olarak çalıştırılır örneğin bir veri tabanı bağlantısı kuruldu sonra kapatma işini __destruct ile yapalım.

Public, Protected, Private Kullanımı

Public : Public tanımlanan nesnelere sınıf içersinden ve dışından erişim hakkı verilir. Protected : Protected olarak tanımlanan değişken ve metotlara, tanımlanan sınıfın mirasçıları tarafından erişim sağlanabilir. Dışarıdan erişim olmaz. Private : Private olarak tanımlanan metod ve değişkenlerde ise sadece tanımlanan sınıf içersinden erişi sağlanır. Public, Protected ve Private olarak bir tanımlama yapılmadıysa nesne varsayılan olarak public kabul edilecektir. Bu sebebten oluşturulan metoda nesne dışındanda erişim sağalanacak.

Mirasçı bir nesne oluşturmak için extends parametresi kullanılır. Örneğin class b extends a{} burada mirasçı b asıl sınıfı ise a dır. Aynı zamanda bir üst sınıfıtan protected bir değişken veya fonksiyon parent ve $this-> parametreleri kullanılarak çağırılır. Örnek bir mirasçı ve protected kullanımı.

PHP ArrayObject (Dizi Nesne) Kullanımı

Bir sınıftan binlerce kez oluşturmamız gerekebilir ve bu sınıfları tutacağımız değişkenler oluşturmak yerini sınıfları dizi olarak kullanabileceğimiz ArrayObject sınıfı bulunmaktadır.
Kullanımına örenk :

PHP SINIF SELF ve PARENT ERİŞİMİ

Self: Bir sınıfı içerisindeki metodlara yani fonksiyonlara erişebilmemizi sağlar. Parent: Miras olarak oluşturulan sınıfın içersinden ana sınıfın metoduna erişim sağlamamızı sağlar. Aşağıda her ikisinide kullandığımız bir sınıf mevcut.

PHP Static Kullanımı

Fonkiston ve değişkenlerde static tanımlaması değişkenin ram’e alınarak sürekli olarak çağırılmasını, bir sınıfın metodlarına dikerek ulaşılmasını, oluşturulan sınıfın bir kere çağırılarak tekrar tekrar yüklenmesini engellemiş olursunuz.
Önemli:

  • 1-Class içerisinde static olarak verilen değişkenler self::$degisken
  • 2-Statik tanımlanan değişkenler miras olarak devredilemez.
  • 3-Statik olarak tanımlanan fonksiyonlarda static tanımlanmayan metodları kullanamazsınız.

Evet arkadaşlar tabi php nesne tabanlı programlama burada son bulmuyor. Sitemizde php kategorisini seçerek php oop hakkında diğer yazılarımı okumanızı öneririm. BAŞARILAR.