← Tümünü Gör

php

php

PHP: Kapsamlı Türkçe Geliştirici Rehberi

Bu dökümantasyon, PHP öğrenmek ve geliştirmek isteyenler için kurulumdan proje geliştirmeye kadar gerekli tüm bilgileri tek bir kaynakta toplamaktadır.


1. Kurulum ve Geliştirme Ortamı: Laragon

PHP geliştirmek için hafif, hızlı ve esnek bir ortam sağlayan Laragon programını kullanacağız.

Neden Laragon?

*
Performans: XAMPP gibi alternatiflere göre daha optimize ve hızlıdır.

*
Esneklik: Apache ve NGINX arasında kolayca geçiş yapabilir, PHP sürümlerini değiştirebilirsiniz.

*
Modern Özellikler: Otomatik sanal ana bilgisayar (Virtual Host) ve SSL desteği sunar.

Kurulum Adımları

1.
İndirme: Laragon.org adresinden kurulum dosyasını indirin.

  1. Kurulum: "Next" adımlarını takip ederek kurulumu tamamlayın. Genellikle C:\laragon dizinine kurulur.

  2. Başlatma: Laragon'u açın ve "Hepsini Başlat" (Start All) butonuna basarak sunucuları aktif edin.

  3. Test: Tarayıcınızda http://localhost adresine gidin. Laragon karşılama ekranını görüyorsanız kurulum başarılıdır.


2. Laragon Kullanımı ve İpuçları

Laragon, geliştirme sürecinizi hızlandıran bazı özel yeteneklere sahiptir.

Otomatik Alan Adları (.test)

Laragon, www klasörü içine açtığınız her klasörü otomatik olarak bir alan adına dönüştürür.

*
Örnek: C:\laragon\www\projem klasörünü oluşturursanız, tarayıcıda http://projem.test yazarak projeye erişebilirsiniz.

  • Bu özellik sayesinde DNS ayarlarıyla uğraşmadan güvenli bir test ortamına sahip olursunuz.

SSL (HTTPS) Desteği

Projelerinizi https:// protokolü ile çalıştırmak için Laragon menüsünden Apache > SSL > Açık seçeneğini işaretlemeniz yeterlidir.

Araçlar

Laragon; Terminal, MySQL yönetimi (HeidiSQL/PhpMyAdmin) ve servis yönetimi gibi araçları içinde barındırır.


3. PHP Temelleri ve Sözdizimi

PHP kodları HTML içine gömülebilir ve sunucu tarafında çalışır.

Yazım Kuralları

PHP kodları <?php etiketi ile başlar ve ?> etiketi ile biter.

<h1><?php echo "Merhaba, Dünya!"; ?></h1>

Bu örnekte echo komutu ekrana yazı yazdırmak için kullanılmıştır.

Değişkenler ve Veri Türleri

Değişkenler $ işareti ile başlar. PHP veri türünü otomatik algılar.

$ad = "Hamza"; // String
$yas = 25;     // Integer

Koşullar ve Döngüler

Mantıksal işlemler için if-else ve döngüler için for, while kullanılır.

$sayi = 10;
if ($sayi > 0) {
    echo "Pozitif";
}

for ($i = 0; $i < 5; $i++) {
    echo $i;
}

Fonksiyonlar

Kod tekrarını önlemek için fonksiyonlar tanımlanabilir.

function topla($a, $b) {
    return $a + $b;
}
echo topla(5, 3); // Çıktı: 8

4. Sayfalar Arası Veri İletişimi

Web uygulamalarında verileri bir sayfadan diğerine taşımanın dört ana yolu vardır:

1.
Formlar (POST/GET): Kullanıcıdan veri almak için en yaygın yöntemdir.

// alici.php
$ad = $_POST['ad'];

2.
URL Parametreleri (GET): Veriyi link üzerinden gönderir (page.php?id=5).

  1. Session (Oturum): Sunucu tarafında veri saklar. Kullanıcı giriş işlemleri için idealdir.
session_start();
$_SESSION['kullanici'] = "Ahmet";
  1. Cookies (Çerezler): Tarayıcıda (istemci tarafında) veri saklar. "Beni hatırla" özellikleri için kullanılır.

5. Veritabanı İşlemleri (CRUD)

PHP ile MySQL veritabanı üzerinde Create (Ekle), Read (Oku), Update (Güncelle) ve Delete (Sil) işlemleri yapılabilir.

Bağlantı (MySQLi Örneği)

$conn = new mysqli("localhost", "root", "", "veritabani_adi");
if ($conn->connect_error) { die("Hata: " . $conn->connect_error); }

.

Temel İşlemler

*
Ekleme (Insert): INSERT INTO sorgusu ile veri kaydedilir.

*
Okuma (Select): SELECT sorgusu ile veriler çekilir ve genellikle while döngüsü ile ekrana basılır.

*
Güncelleme (Update): UPDATE sorgusu ile mevcut veri değiştirilir.

*
Silme (Delete): DELETE sorgusu ile veri tablodan kaldırılır.


6. Uygulama: Kapsamlı Blog Sitesi Yapımı

Öğrendiğimiz bilgileri pekiştirmek için veritabanı bağlantılı, üyelik sistemli bir blog sitesi yapalım.

1. Veritabanı Kurulumu

blog adında bir veritabanı ve içinde kullanicilar ve yazilar tablolarını oluşturun.

CREATE TABLE kullanicilar (id INT..., kullanici_adi VARCHAR...);
CREATE TABLE yazilar (id INT..., baslik VARCHAR..., icerik TEXT...);

2. Dosya Yapısı

Projenizi düzenli tutmak için klasörlere ayırın:

  • includes/: Bağlantı, başlık, footer gibi ortak dosyalar.
  • pages/: Giriş, kayıt, yazı listeleme sayfaları.
  • actions/: Form işlemlerinin yapıldığı arka plan kodları.

css/: Tasarım dosyaları.

3. Veritabanı Bağlantısı (PDO)

Bu projede daha güvenli ve modern olan PDO yapısını kullanacağız.

// includes/baglan.php
try {
    $db = new PDO("mysql:host=localhost;dbname=blog", "root", "");
} catch (PDOException $e) {
    die("Hata: " . $e->getMessage());
}

4. Üyelik Sistemi (Giriş/Kayıt)

*
Kayıt: Kullanıcı şifrelerini password_hash ile şifreleyerek veritabanına kaydedin.

*
Giriş: password_verify ile şifreyi doğrulayın ve başarılıysa $_SESSION başlatarak oturum açın.

*
Güvenlik: Sayfaların başında oturum kontrolü yaparak giriş yapmamış kullanıcıları engelleyin veya menüleri gizleyin.

5. İçerik Yönetimi

*
Yazı Ekleme: Sadece giriş yapmış kullanıcılar yazı ekleyebilir. Formdan gelen veriler INSERT komutu ile kaydedilir.

*
Listeleme: SELECT * FROM yazilar sorgusu ile tüm yazılar çekilir ve foreach döngüsü ile sayfada listelenir.

6. Sonuç

Bu proje ile PHP'nin temel yapı taşlarını, oturum yönetimini ve veritabanı etkileşimini gerçek bir senaryoda birleştirmiş oldunuz. Uygulamayı http://localhost/blog adresinden çalıştırabilirsiniz.