PHP Nedir?
PHP (Hypertext Preprocessor), sunucu taraflı çalışan açık kaynaklı bir script dilidir. Web sitelerinin büyük çoğunluğu PHP ile geliştirilmiştir; WordPress, Drupal ve Laravel bu dilin en tanınmış örnekleridir.
PHP ile MySQL Bağlantısı (PDO)
<?php
$dsn = "mysql:host=localhost;dbname=sitem;charset=utf8mb4";
try {
$pdo = new PDO($dsn, "root", "", [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]);
echo "Bağlantı başarılı!";
} catch (PDOException $e) {
die("Hata: " . $e->getMessage());
}
?>
CRUD İşlemleri
Kayıt Ekleme (Create)
$stmt = $pdo->prepare("INSERT INTO urunler (ad, fiyat) VALUES (:ad, :fiyat)");
$stmt->execute(["ad" => "Laptop", "fiyat" => 25000]);
Kayıt Okuma (Read)
$stmt = $pdo->query("SELECT * FROM urunler ORDER BY fiyat DESC");
foreach ($stmt->fetchAll() as $u) {
echo $u["ad"] . ": " . $u["fiyat"] . " TL<br>";
}
Kayıt Güncelleme (Update)
$stmt = $pdo->prepare("UPDATE urunler SET fiyat = :fiyat WHERE id = :id");
$stmt->execute(["fiyat" => 27000, "id" => 1]);
Kayıt Silme (Delete)
$stmt = $pdo->prepare("DELETE FROM urunler WHERE id = :id");
$stmt->execute(["id" => 1]);
Güvenli Form İşleme
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$ad = trim(htmlspecialchars($_POST["ad"] ?? ""));
$email = filter_var($_POST["email"] ?? "", FILTER_VALIDATE_EMAIL);
if (!$email) { die("Geçersiz e-posta!"); }
$stmt = $pdo->prepare("INSERT INTO aboneler (ad, email) VALUES (:ad, :email)");
$stmt->execute(["ad" => $ad, "email" => $email]);
echo "Kayıt başarılı!";
}
PHP Güvenlik Kuralları
- SQL Injection: Her zaman PDO prepared statement kullanın
- XSS: Kullanıcı girdisini ekrana basmadan htmlspecialchars() uygulayın
- Parola: password_hash() ve password_verify() kullanın, MD5 kullanmayın
- Session: session_regenerate_id(true) ile oturum korsanlığına karşı koruma
- CSRF: Formlara gizli token ekleyin
Laravel: PHP Framework
Laravel, MVC mimarisi, ORM (Eloquent), routing ve güvenlik katmanlarıyla geliştirme sürecini hızlandıran en popüler PHP çerçevesidir.
Sıkça Sorulan Sorular
PHP hala geçerli mi?
PHP 8.x sürümleriyle modern bir dil haline gelmiştir. Laravel ve WordPress ekosistemi sayesinde iş piyasasında güçlü talebi sürmektedir.
PHP mi, Node.js mi öğrenmeliyim?
Barındırma maliyetleri düşük olan PHP, başlangıç için idealdir. Gerçek zamanlı uygulamalar için Node.js daha avantajlıdır.