Skip to content

Latest commit

 

History

History
391 lines (344 loc) · 13.2 KB

taslak.icerik.md

File metadata and controls

391 lines (344 loc) · 13.2 KB

PHP ve MySQL ile WEB Programlamaya Giriş

Bu dosya, PHP ile Web Programlamaya Giriş konusunda anlatılabilecek başlıkları içerir

HTML

  • Giriş ve Temel Kod Yapısı
  • Yorum Satırlarının Kullanımı
  • h1--h6 Başlık Etiketleri
  • p Paragraf Etiketi
  • br Satır Atlatma Boşluk Bırakma Etiketi
  • hr Çizgi Çizme Etiketi
  • b Bold Kalınlaştırma Etiketi
  • i İtalic, Eğik Yazı Etiketi
  • sub, sup Alt ve Üst İndis Etiketleri
  • ins Metnin Altını Çizme Etiketi
  • del / s Metnin Üzerini Çizme Etiketleri
  • pre Pre Etiketi
  • table Tablo Oluşturma İşlemleri
  • ul, ol, dl, li Listeleme ve Tanımlama Etiketleri
  • img Etiketi Resimlerle Çalışma
  • Placeholder Kullanımı ve Hazır Tasarım Resimleri Çekme
  • Form ve İnput İşlemleri - Form Oluşturma ve Gönderim Methodları
  • a Link Verme Etiketi ve sayfa içi link (anchor)

HTML FORM Etiketleri

  • form
  • input
  • select
  • button
  • radio
  • checkbox
  • file
  • textarea

Çalışma Ortamının Hazırlanması

  • Terminal komutları ile çalışma ortamı kurulumu (Ubuntu)
  • MAMP Kurulumu (Mac Os X için)
  • MAMP Kurulumu (Windows için)
  • Xampp Kurulumu ve Host Ayarı ( Mac )
  • Xampp Kurulumu ve Host Ayarı ( Windows )
  • Xampp Kurulumu ve Host Ayarı ( Linux )
  • Wampp Kurulumu (Windows için)
  • Editör Seçimi (SublimeText, Atom)

Dil Başvuru Kılavuzu

PHP'ye Giriş

  • PHP Nedir? Neden PHP Kullanmalıyız?
  • Web geliştiricileri için temel ağ bilgisi (HTTP Yaşam Döngüsü)
  • echo - print Ekrana Yazı Yazmak
  • Tek Tırnak ve Çift Tırnak Arasında ki Farklar php.net/manual/tr/language.types.string.php
  • PHP'ye Başlangıç, Yazım Kuralları (Syntax), Açıklama Satırları
  • PHP'de Değişkenlerin Kullanımı
  • PHP'de Veri Türleri http://php.net/manual/tr/language.types.php
  • PHP'de Sabit Değişkenler

PHP'de Operatörler

  • Aritmetik Operatörler
  • Atama Operatörleri
  • Artırma ve Azaltma Operatörleri
  • Karşılaştırma Operatörleri
  • Mantıksal Operatörler

Değişkenler

  • Değişkenlere Giriş
  • Değişkenleri Birleştirme
  • Değişkenlerde Toplama, Çıkarma, Bölme ve Çarpma Işlemi
  • Değişken Verip Tipi Işlemleri ve Yeni Değer Atama

Tür Dönüşümleri

  • Veri Tiplerinin Başka Bir Veri Tipine Dönüştürülmesi
  • (int), (integer) (bool), (boolean) (float), (double), (real) (string) (array) (object) (unset)
  • Veri Tiplerinin Kontrolü
  • is_int, is_string gettype empty is_null isset

Çıktılama

  • Kaçış Karakterleri (Sihirli Karakterler)

Sabitler Ve Yorum Satırı

  • Yorum Satırları

Diziler

  • Dizilerin Tanımı ve Dizi Oluşturma
  • Dizileri Ekrana Bastırma Işlemleri
  • Dizi Eleman Sayısını Bulma ve Diziden Eleman Silme
  • PHP'de Dizi Oluşturmak
  • PHP'de İç İçe Dizi Oluşturmak
  • PHP'de Sabit Değişkenlerde Dizilerin Kullanımı
  • list, array_key_exists, array_keys ve array_values
  • array_pop, array_rand, array_count_values, array_shift array_search, in_array
  • array_sum, array_product, array_shuffle, array_chunk, array_combine
  • array_fill, array_fill_keys, array_flip, array_slice, array_unique
  • sizeof, array_push, array_unshift, array_map, sort, array_reverse, array_merge, extract

String Fonksiyonları

  • heredoc ve nowdoc http://php.net/manual/tr/language.types.string.php
  • explode, implode, ltrim, rtrim, strlen, strrev, strstr, nl2br
  • substr, trim, strtolower, strtoupper, str_replace
  • parse_str, ucfirst, ucwords, md5, sha1
  • Multibyte nedir? Encoding Nedir? UTF8 vs windows-1254

Denetim Yapıları

  • IF, ELSE IF ve ELSE Kullanımı
  • Switch - case Kullanımı
  • While ve For Döngüsü
  • Include - Require
  • Ternary (Üçlü) Operatör Kullanımı (Shorthand if)
  • try - catch Bloğu

PHP'de Döngüler

  • For Döngüsü
  • Foreach Döngüsü
  • While Döngüsü
  • Do-While Döngüsü
  • break ve continue değimleri

Fonksiyonlar

  • Fonksiyonda Sınırsız Parametre Göndermek
  • Fonksiyonda Static Değişken Kullanımı
  • PHP7 Parametre ve Return Değişken Türü Dayatması ( :int )
  • Fonksiyon Nedir?
  • Fonksiyon Oluşturma
  • Fonksiyon Oluşturma Toplama İşlemi
  • Return ile Değer Döndürme
  • Fonksiyonlarda Global Değişken Kullanımı
  • Fonksiyonlarda Varsayılan Değer
  • Kendin Tekrar Eden Recursive Fonksiyon
  • Fonksiyon Varmı - Yokmu Bulma function_exists()
  • Tüm Fonksiyonları Listeleme get_defined_functions()

Dosya ve Dizin İşlemleri

  • Dosya, Dizin Varlığının Kontrolü ve Dizin Oluşturup Kaldırma işlemi
  • Dosya Oluşturma, Dosyaya Içerik Girme ve Dosya Silme
  • Dizin Içerisindeki Verilerin Listelenmesi
  • Dosya Oluşturmak/Okumak/Silmek
  • Dizin Oluşturmak/Silmek
  • Dizin/Dosya Olup Olmadığını Kontrol Etmek
  • Dosya ve Dizinlerde CHMOD Ayarını Belirlemek
  • Dizindeki Dosyaları Listelemek
  • Dosya ve Dizin Adlarını Yeniden Adlandırmak / Taşımak

Ön Tanımlı Değişkenler (Super Globals)

  • $_GET, $_POST, $_SERVER, $_REQUEST, $_SESSION, $_COOKIE

Oturum İşlemleri

  • Oturum (Session) Başlatmak/Kullanmak/Silmek
  • Çerez (Cookie) Oluşturmak/Kullanmak/Silmek

Tarih ve Saat

  • Strtotime Fonksiyonu ile İleri Geri İşlemleri
  • Tarih Fonksiyonları - date(), getdate(), time()
  • Yerel Zamanı (Saat Dilimi) Ayarlamak - Ön tanımlı Zaman Dilimini Ayarlamak (Türkçe Tarih)

Form İşlemleri

  • Get ve Post Türündeki Verileri Alma
  • Selecbox ve Textarea'dan Gelen Verileri Alma
  • Checkbox ve Radio inputlardan Veri Alma
  • File Türündeki İnputtan Dosya Bilgilerini Alma
  • POST ile Değer Göndermek / Almak
  • GET ile Değer Göndermek / Almak
  • REQUEST ile Değer Göndermek / Almak
  • PHP ile Aynı Sayfada Birden Fazla Form İşlemi
  • HEADER komutu ile yönlendirme

PHP'de Dosya / Resim Yükleme

  • Örnek formun oluşturulması
  • PHP ile Yüklenen Dosyaların Bilgilerini Almak ($_FILES)
  • PHP ile Dosyası Yüklemek
  • PHP'de Çoklu Dosya Yüklemek

Veri Değişim Formatları

  • JSON Nedir?
  • XML Nedir?
  • PHP ve JSON Kullanımı
  • file_get_contents / file_put_contents Fonksiyonu Kullanımı
  • json_encode ile JSON Formatında Veri Oluşturma
  • json_decode ile JSON Formatındaki Veriyi Parçalama

Faydalı Fonksiyonlar

  • str_replace, rand, die
  • strpos, trim, floor, ceil, round, abs
  • eval, str_word_count, basename, glob
  • sort, asort, rsort, arsort, ksort ve krsort
  • cal_days_in_month ile Ayın Kaç Gün Olduğunu Bulma

PHP AJAX

  • Ajax ve jQuery Nedir?
  • jQuery'de Ajax Metodları ($.ajax, $.post, $.get)
  • PHP/Ajax İl-İlçe Uygulaması
  • PHP AJAX Değerlendirme ve Dahil Etme
  • PHP AJAX Veritabanına Veri Ekleme
  • PHP AJAX Veri Çekme
  • PHP AJAX Anlık Veri Çekme
  • PHP AJAX JSON Türündeki İşlemler
  • PHP AJAX DATATABLE

Veritabanı İşlemleri

MySQL

  • SQL ve MySQL Nedir? Farkları Nelerdir?
  • Veritabanı Vedir ? Yeni Bir Veritabanı Oluşturma ve Bağlanma
  • Yeni Bir Tablo Oluşturma ve Veri Giriş İşlemi
  • Tablodaki Verileri Güncelleme İşlemi
  • Tablodaki Verileri Silme İşlemi
  • Tekli ve Çoklu Veri Çekme İşlemi
  • Tablodaki Verilerin Toplam Sayısını Öğrenme
  • Veritabanından Çekilen Verileri Ekrana Yazdırma İşlemi
  • Veritabanı (DATABASE) Oluşturmak / Silmek / Listelemek / Seçmek
  • Tablo (TABLE) Oluşturmak / Listelemek / Silmek
  • Sütun (COLUMN) Oluşturmak / Listelemek / Silmek
  • Tablo ve Sütunları Detaylı Listelemek
  • MySQL Veri Türleri
  • MySQL Rezerve Edilmiş Kelimelerin Kullanımı
  • CRUD Nedir?
  • Veri Ekleme (INSERT) İşlemi
  • Veri Çekme (SELECT) İşlemi
  • Veri Güncelleme (UPDATE) İşlemi
  • Veri Silme (DELETE) İşlemi
  • WHERE Cümleciği
  • Verilerde Sıralama (ORDER BY)
  • Verilerde Limit (LIMIT)
  • Verilerde Gruplama (GROUP BY) ve HAVING Kullanımı
  • Verilerde Arama (LIKE)
  • Verilerde Arama (IN)
  • Verilerde Arama (FIND_IN_SET)
  • İki Değer Arasındakileri Seçmek (BETWEEN)
  • İlişkili Tablolar (JOIN)
  • COUNT(), SUM(), MIN(), MAX() Fonksiyonları
  • Bir .SQL Dosyasını Sunucuya Yüklemek
  • Foreign Key nedir
  • MySQL için adminer kullanımı (adminer.org)
  • MySQL için phpmyadmin kullanımı (phpmyadmin.net)
  • MySQL'de sorgu optimizasyonu
  • MySQL'de backup/restore ve MySQL replication

Sınıflar / Nesne Yönelimli Programlama OOO

  • (OOP) Object Oriented Programming http://php.net/manual/tr/language.oop5.php
  • Yeni Bir Sınıf Tanımlama
  • public, private, protected Terimleri ve Method Tanımlama
  • Metotlar İçerisine Parametre Gönderme
  • Set ve Get Methodları
  • Miras Alma İşlemleri ( Extends ) ve inheritance
  • Methodlar İçerisinden Veri Döndürme
  • Kurucular ( construct ) ve Yıkıcılar ( destruct )
  • Self ve Parent Kullanımı
  • Namespace Kullanımı
  • Zincirleme Method Kullanımı
  • Final Deyimi
  • Static Deyimi
  • (Const) Sabit Değişkenler
  • Soyutlama (Abstraction)
  • Nesne Arayüzleri (Interface)

BONUS

TEMEL GİT BİLGİSİ

  • Git Nedir?
  • GitHub Nedir?
  • Birlikte Çalışma Felsefesi
  • Proje açma
  • Dosya ekleme
  • Commit Etme
  • Uzak depoya gönderme/indirme
  • git help -a ve git help -g Komutları
  • git help everyday ve git help tutorial Komutları

Karışık Paket - 1

  • Temel HTML, CSS, JS, jQuery, Bootstrap eğitimi
  • SweetAlert
  • stackoverflow.com sitesinden PHP, MySQL, HTML, CSS ve JQuery etiketlerindeki "en çok okunan sorular" ve "en çok cevaplanan sorular" başlıklarında yer alan ilk 10 soru ve cevabının hızlı özeti
  • Cache (önbellekleme) mantığına giriş / text dosya ile basit cache uygulaması
  • Temel Linux terminal bilgisi ile DigitalOcean'dan sunucu kiralama ve LAMP kurulumu
  • isimtescil.com üzerinden alan adı alma ve kendi sitemizi yapma
  • WordPress'e giriş, kurulum, tema yükleme
  • CK Editör Entegrasyonu
  • MarkDown Editor Entegrasyonu
  • Geliştirme ortamı kurulumu için VirtualBox, Vagrant kurulumu ve scotch/box
  • OWASP Top 10 için hızlı özet

PHP'de Hata Yönetimi

  • php.ini Nedir? Ne işe yarar?
  • Hata Denetim İşleçleri ( @ )
  • try - catch Bloğu
  • PHP'de Hata Raporlama (error_reporting)
  • PHP'de Özel Hata İşleyicisi (Custom Error Handler)
  • PHP'de Ölümcül Hataları (Fatal Errors) Yakalamak

Regular Expressions (Düzenli İfadeler)

  • RegEx Desenleri ve Modifier'lar
  • PHP ve RegEx, preg_match()

PHP'de Güvenlik

  • Başlamadan Önce
  • Dosya ve Dizin Güvenliği
  • XSS (Cross-site Scripting) Açığı
  • Şifreleme (Hashing)
  • httpOnly Cookie
  • CSRF (Cross-site Request Forgery) Açığı
  • SQL Injection Açığı

PHP'de cURL (Bot Yapımı)

  • Curl'e Giriş
  • Curl ile Referer Bilgisi Göndermek
  • Curl ile Tarayıcı Bilgisi (User Agent) Göndermek
  • Curl ile Post İşlemleri
  • Curl ile Dosya Yükleme İşlemi
  • Curl ile Üst Bilgileri (Headers) Kullanmak
  • Curl ile Dosya İndirme İşlemi
  • Curl'de Hataları Yakalamak
  • Curl ile Cookie İşlemleri

PHP Güvenlik İşlemleri

  • Gelen Sayısal ve String Türündeki Verilerin Temizlenmesi
  • PDO Güzelliği ve is_numeric Kullanımı
  • filter_var ile Fltreleme İşlemleri

PHP'de Veritabanı İşlemleri (PDO)

  • PDO ile Veritabanı Bağlantısı Oluşturmak
  • PDO ile Veri Ekleme (INSERT) İşlemi
  • PDO ile Veri Listeleme (SELECT) İşlemi
  • PDO ile Veri Güncelleme (UPDATE) İşlemi
  • PDO ile Veri Silme (DELETE) İşlemi
  • PDO ile JOIN Kullanımı
  • PDO ile LIKE Kullanımı
  • PDO ile BETWEEN Kullanımı
  • PDO ile FIND_IN_SET() Kullanımı
  • PDO ile GROUP BY ve GROUP_CONCAT() Kullanımı
  • PDO ile Son Eklenen Verinin ID'sini Almak

ÖRNEK PROJELER

ÜYELİK SİSTEMİ

Genel Bakış, Dosya yapısı ve Veritabanının Oluşturulması Bağlantı Dosyaları, Session Manager ve Kayıt Sayfası Kullanıcı Kayıt Yapma İşlemi Helper Sınıfı Oluşturma Kullanıcı Varlığının Kontrolü Giriş İşlemi ve Beni Hatırla Yapımı Çıkış İşlemi ve Bilgilerin Ekrana Bastırılması Profil ve Şifre Düzenleme Yapımı Profil Fotoğrafı Yükleme İşlemi Şifremi Unuttum Yapımı Kullanıcı Haraketlerini Loglama Online Üyeler listeleme Kullanıcı Detay Sayfası

ÖRNEK UYGULAMA PROJESİ -- PHP İle Üyeler Arası Mesajlaşma Bölümü Yapımı

Tabloların Oluşturulması, Bağlantı Kodları, Mesaj Gönderme ve Listeleme Sayfası Mesaj Detay Sayfası ve Özel Mesajlaşma Sayfası

ÖRNEK UYGULAMA PROJESİ -- PHP İle Sık Kullanılan Uygulamalar

PHP ile Ziyaretçi Defteri Yapımı Blog veya Ürünlerinize Oylama Sistemi Yapımı Session ve Array Kullanarak Çoklu Dil Eklentisi Session Kullanarak Alışveriş Sepeti Yapımı Sayfalama Yapımı EXCEL Oluşturma PDF Oluşturma Dosyaları ve Dizinleri Zipleme Bir Sitedeki Belirtilen Verileri Alma

ÖRNEK UYGULAMA PROJESİ -- Link Kısaltma Uygulaması

Genel Bakış ve Dosya Yapısını Oluşturma Anasayfanın Oluşturulması Bağlantı Kodlarının Hazırlanması Veri Ekleme İşlemi Yapılması Veri Kontrol İşleminin Yapılması Yönlendirme İşlemlerinin Ayarlanması .htaccess Dosyasının Ayarlanması Uygulama sonu

ÖRNEK UYGULAMA PROJESİ -- PHP ile Müşteri Takip Uygulaması

Tema İndir ve Dosya Yapısı Oluşturma Veritabanı Ayarlaması HTML Sayfaları PHP Sayfasına Ayarlama SessionManager Kodlaması Bağlantı Kodlarını Oluşturma Giriş Bölümünü Oluşturma Müşteri Ekleme / Listeleme Bölümü Müşteri Düzenle ve Silme Bölümü Müşteriye Ait işlem / Ekleme / Silme / Düzenleme / Listeleme İşlem Raporlama Yapımı Yapılan İşlemleri Loglama Anasayfada Yapılan İşlemleri Gösterme Çıkış Bölümünü Oluşturma