Ne Öğreneceğim?
- OOP Nedir?
- OOP Sınıf Yapısı
- OOP Metotları
Gereksinimler
- PHP
- Linux
Zorluk
- Orta Düzey
Eğitim İçeriği
PHP yazılım dili, tüm programlama dillerinde olduğu üzere nesne yönelimli programlamayı desteklemektedir. Geliştirilmek istenen yazılımı kısaltmak ve dizgesel hale getirmek için çok önemli ve çok sık kullanılan bir yöntemdir.
PHP4 versiyonunda nesne yönelimli yazılımın temelleri oluşturulduğundan eksikler çok fazlaydı ve PHP5 sürümüyle birlikte eksiklikler giderilerek OOP yapısı tekrar oluşturuldu. PHP5 sürümünden itibaren görünürlük, derslik soyutlama, final anahtar sözcüğü, büyülü yöntemler, nesne arayüzleri, nesne kopyalama ve tür dayatma gibi mevzular eklendi.
OOP Nedir?
OOP, Object Oriented Programming kelimesinin baş harflerinden oluşan bir programlama yöntemidir. Türkçe karşılığı nesne yönelimli programlama olarak ifade edilebilir.
OOP, birbiri ile alakalı ve dizgesel olarak çalışabilecek kod parçalarını bir arada tutarak, yazılımın bir tüm olarak çalışmasını sağlar. OOP mimarisi ile geliştirilecek sistem parçalara ayrılarak, parçalar arasında illişki kurmaya olanak sağlar.
Temel Kavramlar
Nesneler, kendi içerisinde tanımlanan değişken ve ek fonksiyonlardan oluşur. Bir nesne içinde tanımlanan birime özellik, nesneye ait fonksiyonlara ise davranış yada metod adı verilir. Dersliğin üyesi olarak ifade edildiğinde ise bu özellik veya metod olabilir.
Sınıf Yapısı
Bir derslik oluşturmak için öncelikle sınıf üyelerinin (özellik ve metotlar) birbiri ile ilişkili olmasına dikkat edilir. Sınıfın yapısı gereği, eğer birbirinden bağımsız özellik ve metotlar kullanırsanız, aslına bakarsanız derslik yazmanın bir anlamı kalmaz.
<?php
class ilkSinif
{
#özellik
public $birOzellik;
#davranis
public function birDavranis() {
echo 'Davranis Calisti';
}
}
?>
Yukarıdaki sınıf örneğinde, sınıf ilkSinif ismiyle oluşturulmuştur. Sınıf içinde birOzellik ismiyle değişken ve birDavranis ismiyle metod tanımlanmıştır.
Sınıf Çağırma (Örnekleme)
Bir dersliği çarpıtmak için new anahtar sözcüğü kullanılır. Aslında sınıfların bir çeşit veri türü bulunduğunu düşünürsek, çağırdığımız derslik tipinde bir değişken tanımlıyoruz diyebiliriz.
<?php
$nesne = new ilkSinif();
?>
Yukarıda yer edinen kodları dersliğin hemen altına yazarak tanımladığınız sınıftan bir örnek alabilirsiniz. Sınıftan örnek aldıktan sonrasında erişim izni olan özellik ve metotları kullanabiliriz. Derslik özellikleri $isim olarak tanımlansa da bu özelliği dışarıdan kullanırken $nesne->$isim olarak değil, $nesne->isim olarak kullanmanız gerekmektedir.
<?php
$nesne = new ilkSinif();
$nesne->isim = 'Ali';
echo $nesne->utopian();
?>
Yukarıdaki örnekte değişkenin içinde tanımlanan isim özelliğine Ali değeri yükleniyor ve yine değişken için erişim iznimiz olan utopian adlı metodu çalıştırıyoruz.
Kurucu ve Yıkıcı Metotlar
Bir derslik örneklendiğinde İlk olarak çalışan metod kurucu (construct) metodlardır. Sınıf üzerinde aslabir işlem yapmasanız dahil, örnek almış olduğunız anda bu metod otomatik olarak çalışır. Aynı şekilde derslik ile olan bağlantınız sonlandığında ise, yıkıcı (destruct) metodu otomatikman çalışır. Kurucu ve yıkısı metotların nasıl tanımlandığını öğrenmek ve bir sınıftan örnek alındığında otomatik olarak çalışmış olduğunı anlamak için aşağıdaki örneği inceleyip çalıştırarak deneyebilirsiniz.
<?php
class ilkSinif
{
#kurucu fonksiyon
function __construct() {
echo 'Kurucu fonksiyon çalıştı.';
}
#yıkıcı fonksiyon
function __destruct() {
echo 'Yıkıcı fonksiyon çalıştı';
}
}
#nesne örnekleme
$nesne = new ilkSinif();
?>
Yukarıdaki örnek dersliği yazıp çalıştırdığınızda kruucu fonksiyon çalışacaktır. Eğer bu sınıf üzerinde işlem gerçekleştirmiş olsaydık, bu işlemler gerçekleştirilecek ve PHP yorumlayıcısı artık dersliğin kullanılmadığını anladığında yıkıcı fonksiyonu çalıştıracaktı.
Kurucu metotlar; çoğu zaman derslik çapırıldığı esnada, sınıfa ilişkin özelliklerin için ilk değerler yüklenir ve lüzumlu görülürse, bazı metotlar tetiklenerek çalıştırılır. Yıkıcı metotlar ise, derslik kullanımını sonlandığinde özelliklerin silinmesi ve yine ihtiyaç halinde bazı metotların çalıştırılması için kullanılabilir.
Posted on Utopian.io - Rewarding Open Source Contributors
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey @deathwing, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://www.orhanbhr.com/sinif-cagirma-ornekleme-oop/
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you. It's good to see this.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Nevermind
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
However, the rule has been shared before committing. So it must be valid!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
No, rule change was 2 days ago : https://steemit.com/utopian-io/@utopian-io/utopian-rules-update-8-dropped-crowdin-support-english-only-and-more
He wrote this yesterday, hence he wrote an article that was not in accordance with the rules when publishing his contribution.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
That's incorrect howo. The rules were announced 2 days ago, but the post also states that they only went live at 6 PM CET 02.02.2018, please, review this post and all the posts you've rejected under new rules.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Yep, realized that afterwards, consider the above comment void.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey @sedatyildiz I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit