Php İle Nesneye Dayalı Programlama [İlk Örnek]
-
Aşağıda vereceğim kodları belirttiğim isimlerde aynı dizine kaydedip çalıştırarak, açıklama satırlarını okuyarak, araştırarak bir giriş yapılabilir. Örnek çok basit ancak amaç giriş yapmak.(oop php ile ilgili ilk konuyu da ben açmış oluyorum sanırım) Buraya yazacaklarımı zaten açıklama satırlarına yazdım. Kolay gelsin, buyrun;
----------
c_Kullanici.php
----------<?php class kullanici //sınıf adını yazdık { //Sınıfımıza ait değişkenler private $ad; private $soyad; private $email; //değişkenler private olduğu için onlara değer verme, değer okuma //işlerini sınıfa ait fonksiyonlarla yapabiliriz public function degerSet($a, $s, $e) //değer atama { $this->ad = $a; $this->soyad = $s; $this->email = $e; } public function degerGet() //değerleri dizi olarak döndürme { return array( $this->ad, $this->soyad, $this->email); } /* getter ve setter fonksiyonlar vardır. Bu konunun bütün olayı yukarıda yazdığım gibi sınıfa ait public olmayan değişkenlere erişim sağlamaktır, kafanız karışmasın. Eğer bilmiyorsanız erişim belirteçlerini araştırın. İşin teorik kısmını tamamen anlatamam. Pratikte en basit, en temel örnek budur. */ } ?>----------
index.php
----------<?php require "c_Kullanici.php"; //sınıf dosyasını eklemezsek nesne oluşturamayız. //require ya da include kullanabilirsiniz, farklarını araştırın. $adam = new kullanici(); //yeni bir kullanıcı yaratıyoruz--- $x = "Mahmut"; //bu değişkenleri direk degerSet() fonksiyonuna da girebilirdim $y = "Tuncer"; //ama kullanıcı bilgilerini başka sayfadan alacağınızı $z = "mahmut@lo.com"; //varsayarak değişken oluşturdum $adam->degerSet($x, $y, $z); //parametreleri girip degerSet() fonksiyonunu //kullanici sınıfımızdan oluşturduğumuz $adam nesnesi üzerinden çalıştırıyoruz $bilgiler = $adam->degerGet(); //$adam nesnesine ait bilgileri dizi olarak alıp $bilgiler değişkenine atıyoruz $zimbirti = array( //bu gereksiz aslında, şekil olsun diye koydum 'Ad : ', //ama benim gibi array() fonksiyonunu unutmazsınız "niye hata veriyo lan" demezsiniz 'Soyad: ', 'Email: '); for($i=0;$i<3;$i++) //dizi değişkenlerindeki değerleri yazdırıyoruz { echo $zimbirti[$i].$bilgiler[$i]."<br/>"; } ?> -
bu cok basit olmusta su projeyi inceleyebilirsiniz : http://yadi.sk/d/-AGPJPM38EsAb
-
Bence bunun yerine nedenlerini yazsak daha iyi olur hocam neden nesneye dayalı programlama? class->func yazmak göze hoş geliyo bu yüzden mi gibi gibi :)
-
constructor ekle elin değmişken.
-
güzel bilgiler aynen devam tebrikler baya azimli gördüm ama seni.
-
@SnipeTR: Stajdayım, belirli bir işim(yapmam gereken birşey) yok, olabildiğince verimli geçirmek için sürekli birşeyler araştırıyorum :) php ile nesneye dayalı programlamaya dair hiçbir konu açılmamış daha önce, ben açayım dedim.
@VBDream: kurucu fonksiyon, kalıtım gibi şeyleri kullanarak bir örnek daha hazırlarım. Zaten "hah bitti" dediğim zaman proje-çalışma elimde ne varsa paylaşıcam isteyen inceler isteyen kullanır diye.
@by_tet: ben de o konuda eksiğim :D "php ile neden nesneye dayalı programlama" değil de "neden nesneye dayalı programlama" olabilir. oop olayı dilden bağımsız olduğu için direk onunla ilgili bir konu açılabilir. Ben işin laf kısmını anlatırım, bilgili müridlerden de teknik bilgi gelir belki.
@yolbulucu: ilk örnek zaten, haliyle kolay olmalı =) oop bilmeyen adam zaten önce "sınıf nedir", "nesne nedir neye yarar nasıl olur" gibi şeylere bakar. oop mantığını teoride biliyorum ama pratiğe pek dökmüyordum, phpye başlayalı 10 gün oldu, oopla bayadır uğraşmıyorum, çok kolay ama aynı şekilde kolay anlaşılır.
-
wasd bunu yazdı
@SnipeTR: Stajdayım, belirli bir işim(yapmam gereken birşey) yok, olabildiğince verimli geçirmek için sürekli birşeyler araştırıyorum :) php ile nesneye dayalı programlamaya dair hiçbir konu açılmamış daha önce, ben açayım dedim.
@VBDream: kurucu fonksiyon, kalıtım gibi şeyleri kullanarak bir örnek daha hazırlarım. Zaten "hah bitti" dediğim zaman proje-çalışma elimde ne varsa paylaşıcam isteyen inceler isteyen kullanır diye.
@by_tet: ben de o konuda eksiğim :D "php ile neden nesneye dayalı programlama" değil de "neden nesneye dayalı programlama" olabilir. oop olayı dilden bağımsız olduğu için direk onunla ilgili bir konu açılabilir. Ben işin laf kısmını anlatırım, bilgili müridlerden de teknik bilgi gelir belki.
@yolbulucu: ilk örnek zaten, haliyle kolay olmalı =) oop bilmeyen adam zaten önce "sınıf nedir", "nesne nedir neye yarar nasıl olur" gibi şeylere bakar. oop mantığını teoride biliyorum ama pratiğe pek dökmüyordum, phpye başlayalı 10 gün oldu, oopla bayadır uğraşmıyorum, çok kolay ama aynı şekilde kolay anlaşılır.
verdigim projeyi incelersen cogunu cozersin, ben bununla cozmustum, netbeans in icinde gelen sample lardan biri.
-
hazır başlamışken mvc'yi de öğren tam olsun :)
-
eyvalah ama hafiften neden gerekli fonksiyon varken ne gerek var ayarında bişiler karalasan sevinirim
-
@yolbulucu: hacı herkesin algılama şekli farklı, ben başka örneklere baktım ama "bu nerden geldi" "bu nası oldu" gibi soru işaretleri kalabiliyo, ama tabi kurcalamakta fayda var :)
@sokoban: mvc yapısına uygun kodlamadıktan sonra framework kullanmanın bi olayı kalmıyo zaten gördüğüm kadarıyla. Ama okuduğum kadarıyla mvc ile multi-tier arasında ne fark var çözemedim :D araştırmaya devam ediyorum.
@nurulmac: staj defterini doldurabilmek için en azından giriş yapılabilecek seviyede oop,mvc,frameworkler,farklı kütüphaneler,sayfalama gibi bazı algoritmalar,sql falan gibi konularda yazıcam zaten. O da aklımda, bildiğim kadarıyla yazarım :) -
wasd bunu yazdı@yolbulucu: hacı herkesin algılama şekli farklı, ben başka örneklere baktım ama "bu nerden geldi" "bu nası oldu" gibi soru işaretleri kalabiliyo, ama tabi kurcalamakta fayda var :)
@sokoban: mvc yapısına uygun kodlamadıktan sonra framework kullanmanın bi olayı kalmıyo zaten gördüğüm kadarıyla. Ama okuduğum kadarıyla mvc ile multi-tier arasında ne fark var çözemedim :D araştırmaya devam ediyorum.
@nurulmac: staj defterini doldurabilmek için en azından giriş yapılabilecek seviyede oop,mvc,frameworkler,farklı kütüphaneler,sayfalama gibi bazı algoritmalar,sql falan gibi konularda yazıcam zaten. O da aklımda, bildiğim kadarıyla yazarım :)tamam hocam paylaşıcaksın o zaman burada ?
