Kitabımızda anlatılan tüm örnek uygulamalara buradan ulaşabilirsiniz.
Anlaşılamayan konularda destek almak için phpegitimkitabi@gmail.com adresine mail atabilirsiniz.
- Syntax (Söz Dizimi) syntax.php
- Değişkenler variables.php
- Sabitler constants.php
- Kaçış sekansları escapeSequences.php
- Veri tipleri dataTypes.php
- Aritmetik operetörler arithmeticOperators.php
- Atama Operatörleri assigmentOperators.php
- Artırma ve Azaltma Operatörleri incrementingDecrementingOperators.php
- Karşılaştırma Operatörleri comparisonOperators.php
- Mantıksal Operatörler logicalOperators.php
- if/else/elseif ifadeleri ifElse.php
- switch ifadesi switch.php
- Üçlü Koşul Operatörü (Ternary Operatörü) ternaryOperator.php
- PHP’de Dizi İşlemleri arrays.php
Tüm dizi işlemleri bu dosya üzerinden anlatıldı. Kitabın bölümlerini takip ederek uygulayınız.
- PHP’de for Döngüsü loopFor.php
- PHP’de foreach Döngüsü loopForeach.php
- PHP’de while Döngüsü loopWhile.php
- PHP’de do…while Döngüsü loopDoWhile.php
- Süper Küresel Değişkenler superGlobals.php
- Fonksiyon işlemleri functions.php Tüm fonksiyon örnekleri bu dosya üzerinden anlatıldı. Kitabın bölümlerini takip ederek uygulayınız.
OOP konusu örnekleri oop klasoru altına konumlandırıldı.
-
Köpek Sınıfı (DogClass) Örneği DogClass.php
-
Sleep, Wakeup Metotları ve Serialization serialization.php
-
Nesne Kopyalama ve Clone Sihirli Metodu, Log Örneği LogClass.php
-
Try, Catch, Finally Yapıları ve İstisnalar (Exception) ile Hata Yönetimi tryCatch.php
Örnekler oop klasoru altına konumlandırıldı.
- Koruma Maddeleri (Guard Clauses) guardClauses.php
- Nesnelerde Kapsülleme ve Bilgi Gizleme UserClass.php
- PHP’de Dosya Dâhil Etme fileInclusion.php
Örnek dosyalar oop/inheritance/ klasöru altına konumlandırıldı.
Kalıtım, Çok Biçimlilik ve Kapsülleme Örneği
- Hayvan sınıfı AnimalsClass.php
- Memeli sınıfı MammalsClass.php
- Memeli olmayan sınıfı NonMammalsClass.php
- Köpek sınıfı DogClass.php
- Kuş Sınıfı BirdClass.php
- Başlatıcı init.php
Örnek dosyalar oop/abstraction/ klasoru altına konumlandırıldı.
Soyutlama Örneği
- Soyut araç sınıfı AbstractVehicle.php
- Araba sınıfı CarClass.php
- Motosiklet sınıfı MotorcycleClass.php
- Kask sınıfı HelmetClass.php
- Başlatıcı init.php
Örnek dosyalar oop/designPatterns/singleton/ klasoru altına konumlandırıldı.
Veritabanı bağlantı nesnesi örneği
- Veritabanı bağlatı sağlayıcı sınıfı DBConnProvider.php
Örnek dosyalar oop/interfaces/ klasorü altına konumlandırıldı.
Nesne Arayüzü Örneği
- Hayvan arayüzü AnimalInterface.php
- Kuş arayüzü BirdInterface.php
- Şahin arayüzü FalconClass.php
- Tavuk arayüzü ChickenClass.php
- Uçabilme arayüzü FlyableInterface.php
Örnek dosyalar oop/traits/ klasorü altına konumlandırıldı.
Pegasus Örneği
- At sınıfı HorseClass.php
- Uçabilme niteliği (trait) FlyableTrait.php
- Süzülebilme niteliği (trait) SoarableTrait.php
- Kanat sınıfı WingClass.php
- Pegasus sınıfı PegasusClass.php
- Başlatıcı init.php
Singleton Nesne ile Veritabanı Bağlantı Sağlayıcı Sınıfı Örneği
- Singleton ortak özellik(trait) sınıfı SingletonTrait.php
- Tekil desende (Singleton) Veritabanı bağlatı sağlayıcı sınıfı DBConnProvider.php
Örnek dosyalar oop/methodChaining/ klasorü altına konumlandırıldı.
Araba Örneği
- Araba sınıfı CarClass.php
Örnek dosyalar oop/namespace/ klasorü altına konumlandırıldı.
Namespace kullanan örnek bir uygulama
- Kütüphane 1 library1.php
- Kütüphane 2 library1.php
- String Veri tipi Yardımcı Araç Sınıfı App/Tools/DataTypes/Str.php
- Başlatıcı init.php
Örnek dosyalar oop/Autoload/ klasorü altına konumlandırıldı. Nesne arayüzü, Soyut Sınıf içeren ve nesnelerin otomatik yüklendiği bir örnek
- Kişi nesne arayüzü(interface) Interfaces/User.php
- Kullanıcı soyut(abstract) sınıfı Abstracts/User.php
- Personel sınıfı Classes/Staff.php
- Otomatik yükleme (autoload) betiği autoload.php
- Başlatıcı init.php
Örnek dosyalar oop/SOLID/ klasorü altına konumlandırıldı.
Tek sorumluluk prensibi örneği
- SRP srp.php
Örnek dosyalar oop/SOLID/Open&Closed klasorü altına konumlandırıldı.
Açık Kapalı prensibi örneği
- Prensibi ihlal eden örnek uygulama violationExample.php
- Prensibe uygun örnek uygulama refactoredExample.php
Örnek dosyalar oop/SOLID/LiskovPrinciple klasorü altına konumlandırıldı.
Yerine Geçme Prensibiyle Araç, Araba, Elektrikli Otobus ve Sürücü örneği
- Uygulama example.php
Örnek dosyalar oop/SOLID/ISP klasorü altına konumlandırıldı.
- Prensibi ihlal eden örnek uygulama violation.php
- Prensibe uygun örnek uygulama validSample.php
Örnek dosyalar oop/SOLID/DIP klasorü altına konumlandırıldı.
- Prensibi ihlal eden örnek uygulama violation.php
- Prensibe uygun örnek uygulama validSample.php
Örnek dosyalar dateTime klasorü altına konumlandırıldı.
- Prosedurel kullanım örneği functional.php
- Nesne yönelimli kullanım objectOriented.php
Örnek dosyalar cookies klasorü altına konumlandırıldı.
- Çerez tanımlama örneği setCookies.php
- Çerezlere erişim örneği getCookies.php
Örnek dosyalar session klasorü altına konumlandırıldı.
Oturum verilerini tanımlama ve erişme örneği
- Oturum verisi oluşturma örneği basics/addSessionData.php
- Oturum verisi okuma örneği basics/readSessionData.php
Basit oturum güvenlik önlemleri örneği
- Oturumu basit güvenlik önlemleriyle başlatma örneği security/startSession.php
Örnek dosyalar forms klasorü altına konumlandırıldı.
-
Giriş Formu Dosyası client/loginForm.html
-
Form verilerini işleme dosyası (prosedurel) server/loginFormBackup.php
-
Form verilerini işleme dosyası (nesne yönelimli) server/loginForm.php
-
İstek düzenleyici sınıfı arayüzü (interface) RequestHandler/Interfaces/RequestHandler.php
-
Yardımcı Veri filtreleme sınıfı (trait) RequestHandler/Helpers/DataFilterTrait.php
-
İstek düzenleyici sınıfı RequestHandler/RequestHandler.php
Örnek dosyalar database klasorü altına konumlandırıldı.
- Bağlantı dosyası dbConnect.php
- Tablo oluşturma dosyası create.php
- Kayıt ekleme dosyası add.php
- Kayıt okuma dosyası read.php
- Kayıt güncelleme dosyası update.php
- Kayıt silme dosyası delete.php
Örnek dosyalar mvc_structure klasorü altına konumlandırıldı.
- Model sınıfı model/Model.php
- Controller sınıfı controller/Controller.php
- View sınıfı view/View.php
- Başlatıcı index.php
Kitabın bitirme projesi olarak ele alınan MVC Uygulama Çatısı ve TO-DO List (Yapılacaklar Listesi) Projesi
Uygulama çatısı dosyaları Core klasörüne konumlandırıldı
- Model soyut sınıfı Model.php
- Controller soyut sınıfı Controller.php
- View sınıfı View.php
- Router sınıfı Router.php
- Autoload sınıfı Autoload.php
- DBConnProvider Kütüphanesi Lib/DBConnProvider.php
- SessionManager Kütüphanesi Lib/SessionManager.php
- Singleton Desen Ortak Sınıfı Pattern/SingletonTrait.php
Uygulama dosyaları App ve Public klasorlerine konumlandırıldı
- Config - Ön tanımlı verileri içeren yapılandırma sınıfı Config.php
-
LoginController - Oturum&Giriş işlemleri Kontrölörü Controller/LoginController.php
-
UserController - Kullanıcı işlemleri Kontrölörü Controller/UserController.php
-
TodoController - TO-DO işlemleri Kontrölörü Controller/TodoController.php
-
Todo - Yapılacak kayıtları (Todo) işlemleri Model Katmanı Model/Todo.php
-
User - Kullanıcı (Todo) işlemleri Model Katmanı Model/User.php
Kullanıcı arayüzü betikleri uygulamanın ön tanımlı teması olan View/template/bootstrap klasoru altına konumlandırıldı
-
Uygulamaya giriş formu login.php
-
Yapılacaklar kayıtlarının listeleme arayüzü todo-listing.php
-
Yapılacaklar kaydı ekleme arayüzü todo-add.php
-
Yapılacaklar kaydı düzenleme arayüzü todo-edit.php
-
Kullanıcı profili düzenleme arayüzü user-profile.php
- Arayüz başlık (Header) betiği header/main.php
- Arayüz son Kısım (Footer) betiği footer/main.php
- Arayüz navigasyon linkleri (Navigation) betiği widgets/navigation.php
- Uygulamaya giriş arayüzünde (login.php) kullanılan js dosyası Public/js/login.js
- Yapılacak kayıtlarının listelenmesi arayüzünde kullanılan (todo-listing.php) kullanılan js dosyası Public/js/todo-listing.js
- Yapılacak kaydı ekleme arayüzünde kullanılan (todo-add.php) kullanılan js dosyası Public/js/todo-add.js
- Yapılacak kaydı düzenleme arayüzünde kullanılan (todo-edit.php) kullanılan js dosyası Public/js/todo-edit.js
- Kullanıcı profili düzenleme arayüzünde kullanılan (user-profile.php) kullanılan js dosyası Public/js/user-profile.js
- login.php giriş arayüzüne özel stil tanımlalamarı dosyası Public/css/login.css
Örnek betikler rest ve soap klasorleri altına konumlandırıldı
file_get_contents fonksiyonu ile uzak sunucudan JSON verisini alma örneği
-
file_get_contents ile TODO kaydı verisi getirme örneği rest/client.php
-
CURL ile TODO kaydı verileri getirme örneği rest/client2.php
SoapClient sınıfını kullanarak TC İçişleri Bakanlığı Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü, KPS(Kimlik Paylaşım Sistemi) XML Webservisi istek örneği
- SoapClient sınıfı kullanarak KPS servisi TCKimlikNoDogrula metodu ile kimlik doğrulama örneği soap/client.php
- SoapClient sınıfı kullanarak KPS servisi KisiVeCuzdanDogrula metodu ile cüzdan bilgisi doğrulama örneği soap/client2.php
Bu proje MIT Lisansı altında lisanslıdır - detaylar için LICENSE dosyasına bakınız.
- Mehmet Ali UYSAL
- Rahmi DALICI Editör
- Salim YILMAZ Geliştirici / Okur
- Ahmet SARAÇ Okur
- Hasan Basri BALCI Geliştirici / Okur