PHP'ye Giriş: Web Geliştirmenin Dinamosu

May 27, 2025 Onur Ülkügder

PHP'ye Giriş: Web Geliştirmenin Dinamosu
EğitimPHP

PHP Nedir? Temel Kavramlar ve Tarihçe

PHP, "Hypertext Preprocessor" (Hiper Metin Önişlemcisi) kısaltmasının kısaltmasıdır. Başlangıçta "Personal Home Page" olarak adlandırılan PHP, Rasmus Lerdorf tarafından 1994 yılında geliştirildi. İlk amacı, Lerdorf'un kişisel web sitesini daha dinamik hale getirmekti. Ancak zamanla, PHP, açık kaynaklı bir proje haline geldi ve dünya genelinde milyonlarca web sitesi tarafından kullanılan güçlü bir sunucu taraflı betik dili haline geldi.

PHP, web sunucusunda çalışır ve HTML, CSS ve JavaScript gibi diğer web teknolojileriyle birlikte kullanılır. PHP'nin temel görevi, kullanıcıların tarayıcılarına gönderilmeden önce web sayfalarını dinamik olarak oluşturmaktır. Bu, veritabanlarından veri çekmek, kullanıcı girişlerini işlemek, oturumları yönetmek ve daha pek çok şeyi içerir.

PHP'nin Kısa Tarihçesi

  • 1994: Rasmus Lerdorf, "Personal Home Page" araçlarını geliştirmeye başladı.
  • 1995: PHP'nin ilk sürümü yayınlandı.
  • 1997: PHP 2.0 yayınlandı ve artık daha karmaşık web uygulamaları geliştirmek için kullanılabiliyordu.
  • 1998: PHP 3.0 yayınlandı. Bu sürüm, dilin mimarisinde önemli değişiklikler getirdi ve daha fazla geliştirici tarafından kullanılmaya başlandı.
  • 2000: PHP 4.0 yayınlandı. Performans iyileştirmeleri ve daha iyi oturum yönetimi gibi özellikler eklendi.
  • 2004: PHP 5.0 yayınlandı. Nesne yönelimli programlama (OOP) desteği getirildi ve dilin modern web geliştirme standartlarına uyumu artırıldı.
  • 2015: PHP 7.0 yayınlandı. Performans önemli ölçüde iyileştirildi ve yeni dil özellikleri eklendi.
  • Günümüz: PHP 8 ve sonraki sürümler, dilin performansını, güvenliğini ve geliştirici deneyimini daha da iyileştirmeye odaklanmaktadır.

Neden PHP Kullanmalısınız? Avantajları ve Dezavantajları

PHP, web geliştirme dünyasında hala önemli bir oyuncu olmasının birçok nedeni var. Ancak her teknolojide olduğu gibi, PHP'nin de avantajları ve dezavantajları bulunmaktadır. Gelin, bu faktörleri yakından inceleyelim.

Avantajları

  • Açık Kaynak ve Ücretsiz: PHP, açık kaynaklı bir dildir, yani kullanımı ücretsizdir. Ayrıca, geniş bir geliştirici topluluğu tarafından desteklenmektedir.
  • Geniş Kütüphane ve Çerçeve Desteği: PHP, web geliştirme için zengin bir kütüphane ve çerçeve ekosistemine sahiptir. Laravel, Symfony, CodeIgniter gibi çerçeveler, geliştirme sürecini hızlandırır ve daha düzenli kod yazmanızı sağlar.
  • Kolay Öğrenme: PHP, sözdizimi açısından diğer programlama dillerine benzerdir ve öğrenmesi nispeten kolaydır. Bu, yeni başlayanlar için iyi bir başlangıç noktası olabilir.
  • Geniş Veritabanı Desteği: PHP, MySQL, PostgreSQL, Oracle, MongoDB gibi birçok farklı veritabanı sistemiyle kolayca entegre olabilir.
  • Büyük Topluluk ve Kaynaklar: PHP'nin geniş bir geliştirici topluluğu vardır. Bu, sorunlarınızı çözmek, yardım almak ve en iyi uygulamaları öğrenmek için birçok kaynak bulabileceğiniz anlamına gelir.
  • Platform Bağımsızlığı: PHP, Windows, Linux, macOS gibi farklı işletim sistemlerinde çalışabilir.
  • Sunucu Taraflı: PHP, sunucu tarafında çalıştığı için, web sayfalarınızı dinamik olarak oluşturabilir ve kullanıcı etkileşimlerine göre içerik sunabilirsiniz.

Dezavantajları

  • Güvenlik Açıkları: PHP, geçmişte güvenlik açıklarıyla ünlendi. Ancak, modern PHP sürümleri ve en iyi uygulamalar takip edildiğinde, bu riskler önemli ölçüde azaltılabilir.
  • Performans Sorunları: Bazı durumlarda, PHP'nin performansı diğer dillere göre daha düşük olabilir. Ancak, önbellekleme, optimizasyon teknikleri ve modern PHP sürümleriyle bu sorunlar aşılabilir.
  • Tutarsız Sözdizimi: PHP'nin sözdizimi, bazı açılardan tutarsız olabilir ve bu da kodun okunmasını ve anlaşılmasını zorlaştırabilir.
  • Eski Kod Tabanları: PHP'nin uzun bir geçmişi olduğu için, birçok eski kod tabanı hala kullanılmaktadır. Bu kod tabanları, modern PHP standartlarına uymayabilir ve güvenlik açıkları içerebilir.

Sonuç olarak, PHP'nin avantajları dezavantajlarından daha ağır basmaktadır. Özellikle web geliştirme projelerinizde hızlı ve verimli bir şekilde çalışmak istiyorsanız, PHP sizin için iyi bir seçenek olabilir. Ancak, güvenlik ve performans konularına dikkat etmeniz önemlidir.

PHP Nasıl Çalışır? İşleyiş Mekanizması

PHP'nin nasıl çalıştığını anlamak, bu dili daha etkili bir şekilde kullanmanıza yardımcı olacaktır. PHP'nin işleyiş mekanizması, temel olarak şu adımlardan oluşur:

  1. İstemci (Tarayıcı) İstek Gönderir: Kullanıcı, tarayıcısı aracılığıyla bir web sayfasına erişmek istediğinde, sunucuya bir istek gönderir.
  2. Web Sunucusu İsteği Alır: Web sunucusu (örneğin, Apache veya Nginx), kullanıcının isteğini alır.
  3. PHP Motoru Devreye Girer: Web sunucusu, istekte bulunan dosyanın bir PHP dosyası olduğunu algıladığında, bu dosyayı PHP motoruna iletir.
  4. PHP Kodu Yorumlanır ve Çalıştırılır: PHP motoru, PHP kodunu satır satır yorumlar ve çalıştırır. Bu süreçte, veritabanı işlemleri, dosya okuma/yazma işlemleri, oturum yönetimi gibi çeşitli işlemler gerçekleştirilebilir.
  5. HTML Çıktısı Oluşturulur: PHP motoru, PHP kodunun çıktısını alır ve bu çıktıyı HTML formatında birleştirir.
  6. Web Sunucusu Yanıtı Gönderir: Web sunucusu, oluşturulan HTML çıktısını istemciye (tarayıcıya) geri gönderir.
  7. Tarayıcı HTML'i Yorumlar ve Gösterir: Tarayıcı, sunucudan gelen HTML'i yorumlar ve kullanıcıya web sayfasını gösterir.

Bu süreç, saniyeler hatta milisaniyeler içinde gerçekleşir ve kullanıcıya dinamik ve etkileşimli bir web deneyimi sunar.

PHP Sözdizimi: Temel Kurallar ve Yapılar

PHP'nin sözdizimini anlamak, PHP kodunu yazmak ve okumak için önemlidir. İşte PHP'nin temel sözdizimi kuralları ve yapıları:

Temel Kurallar

  • PHP Etiketleri: PHP kodu, <?php ile başlar ve ?> ile sona erer. Bu etiketler arasına PHP kodunuzu yazarsınız.
  • İfadeler: PHP'de her ifade, noktalı virgül (;) ile sona erer.
  • Yorumlar: PHP'de yorumlar, kodun ne yaptığını açıklamak için kullanılır ve PHP motoru tarafından göz ardı edilir. Tek satırlık yorumlar için // veya #, çok satırlı yorumlar için /* */ kullanılır.
  • Büyük/Küçük Harf Duyarlılığı: PHP'de değişken isimleri büyük/küçük harfe duyarlıdır. Ancak, fonksiyon isimleri ve anahtar kelimeler (örneğin, ifelsewhile) büyük/küçük harfe duyarlı değildir.

Değişkenler

PHP'de değişkenler, verileri saklamak için kullanılır. Değişken isimleri $ işareti ile başlar. PHP, zayıf tipli bir dildir, yani bir değişkenin türünü belirtmenize gerek yoktur. PHP, değişkenin türünü otomatik olarak belirler.


    <?php
    $isim = "Ahmet"; // String (metin) değişkeni
    $yas = 30;       // Integer (tam sayı) değişkeni
    $maas = 5000.50; // Float (ondalıklı sayı) değişkeni
    $evliMi = true;  // Boolean (mantıksal) değişkeni
    ?>
    

Veri Tipleri

PHP'de yaygın olarak kullanılan veri tipleri şunlardır:

  • String: Metin verilerini saklamak için kullanılır.
  • Integer: Tam sayıları saklamak için kullanılır.
  • Float: Ondalıklı sayıları saklamak için kullanılır.
  • Boolean: Mantıksal değerleri (true veya false) saklamak için kullanılır.
  • Array: Birden fazla değeri bir arada saklamak için kullanılır.
  • Object: Nesneleri saklamak için kullanılır (Nesne Yönelimli Programlama).
  • NULL: Bir değişkenin değerinin olmadığını belirtmek için kullanılır.

Operatörler

PHP'de çeşitli operatörler bulunur. İşte bazı yaygın operatörler:

  • Aritmetik Operatörler: + (toplama), - (çıkarma), * (çarpma), / (bölme), % (mod alma)
  • Atama Operatörleri: = (atama), += (toplayarak atama), -= (çıkararak atama), *= (çarparak atama), /= (bölerek atama)
  • Karşılaştırma Operatörleri: == (eşit mi), != (eşit değil mi), > (büyük mü), < (küçük mü), >= (büyük veya eşit mi), <= (küçük veya eşit mi)
  • Mantıksal Operatörler: && (ve), || (veya), ! (değil)
  • Artırma/Azaltma Operatörleri: ++ (artırma), -- (azaltma)

Kontrol Yapıları

PHP'de kontrol yapıları, kodun akışını kontrol etmek için kullanılır. İşte bazı yaygın kontrol yapıları:

  • if/else: Koşullu ifadeler oluşturmak için kullanılır.
  • switch: Çoklu koşullu ifadeler oluşturmak için kullanılır.
  • while: Bir koşul doğru olduğu sürece bir kod bloğunu tekrar tekrar çalıştırmak için kullanılır.
  • do-while: Bir kod bloğunu en az bir kez çalıştırmak ve ardından bir koşul doğru olduğu sürece tekrar tekrar çalıştırmak için kullanılır.
  • for: Belirli bir sayıda tekrar yapmak için kullanılır.
  • foreach: Bir dizi (array) içindeki her bir eleman üzerinde işlem yapmak için kullanılır.

    <?php
    $yas = 20;

    if ($yas >= 18) {
        echo "Ehliyet alabilirsiniz.";
    } else {
        echo "Ehliyet alamazsınız.";
    }

    $gun = "Pazartesi";

    switch ($gun) {
        case "Pazartesi":
            echo "Haftanın ilk günü.";
            break;
        case "Cuma":
            echo "Haftanın son iş günü.";
            break;
        default:
            echo "Hafta içi bir gün.";
    }

    $i = 0;
    while ($i < 10) {
        echo $i . " ";
        $i++;
    }

    $renkler = array("Kırmızı", "Yeşil", "Mavi");

    foreach ($renkler as $renk) {
        echo $renk . " ";
    }
    ?>
    

Fonksiyonlar

PHP'de fonksiyonlar, belirli bir görevi yerine getiren kod bloklarıdır. Fonksiyonlar, kodun tekrar kullanılabilirliğini artırır ve kodun daha düzenli olmasını sağlar.


    <?php
    function selamVer($isim) {
        echo "Merhaba, " . $isim . "!";
    }

    selamVer("Ayşe"); // Fonksiyonu çağırma
    ?>
    

PHP ile Web Geliştirme: Pratik Uygulamalar

PHP, web geliştirme projelerinde çok çeşitli amaçlar için kullanılabilir. İşte PHP ile yapabileceklerinizden bazıları:

Dinamik Web Siteleri Oluşturma

PHP, web sayfalarını dinamik olarak oluşturmanızı sağlar. Bu, kullanıcı etkileşimlerine göre içerik sunabileceğiniz, veritabanlarından veri çekebileceğiniz ve daha pek çok şey yapabileceğiniz anlamına gelir.

Veritabanı İşlemleri

PHP, MySQL, PostgreSQL, Oracle gibi birçok farklı veritabanı sistemiyle kolayca entegre olabilir. Bu, veritabanlarında veri saklama, okuma, güncelleme ve silme işlemlerini gerçekleştirmenizi sağlar.


    <?php
    $servername = "localhost";
    $username = "kullaniciadi";
    $password = "sifre";
    $dbname = "veritabaniadi";

    // Veritabanı bağlantısı oluşturma
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Bağlantıyı kontrol etme
    if ($conn->connect_error) {
        die("Bağlantı hatası: " . $conn->connect_error);
    }

    // Veri çekme
    $sql = "SELECT id, isim, soyisim FROM kullanicilar";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // Her satırı yazdırma
        while($row = $result->fetch_assoc()) {
            echo "id: " . $row["id"]. " - İsim: " . $row["isim"]. " " . $row["soyisim"]. "<br>";
        }
    } else {
        echo "Sonuç bulunamadı";
    }

    $conn->close();
    ?>
    

Kullanıcı Giriş/Çıkış Sistemleri

PHP, kullanıcıların web sitenize giriş yapmasını ve çıkış yapmasını sağlayan sistemler oluşturmanıza olanak tanır. Bu, kullanıcıların kimliklerini doğrulamanızı ve yetkilendirme işlemlerini gerçekleştirmenizi sağlar.

Form İşleme

PHP, HTML formlarından gelen verileri işlemek için kullanılır. Bu, kullanıcıların girdiği verileri alıp veritabanına kaydetmek, e-posta göndermek veya başka işlemler yapmak için kullanılabilir.


    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $isim = $_POST["isim"];
        $eposta = $_POST["eposta"];

        echo "İsim: " . $isim . "<br>";
        echo "E-posta: " . $eposta . "<br>";

        // Veritabanına kaydetme veya e-posta gönderme gibi işlemler burada yapılabilir.
    }
    ?>

    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
        İsim: <input type="text" name="isim"><br>
        E-posta: <input type="email" name="eposta"><br>
        <input type="submit" value="Gönder">
    </form>
    

E-ticaret Uygulamaları

PHP, e-ticaret uygulamaları geliştirmek için kullanılabilir. Bu, ürünleri sergileme, sepet yönetimi, ödeme işlemleri ve sipariş takibi gibi özellikleri içerir.

İçerik Yönetim Sistemleri (CMS)

WordPress, Drupal, Joomla gibi popüler içerik yönetim sistemleri (CMS) PHP ile geliştirilmiştir. Bu sistemler, web sitenizin içeriğini kolayca yönetmenizi sağlar.

PHP Çerçeveleri: Hızlı ve Verimli Geliştirme

PHP çerçeveleri, web geliştirme sürecini hızlandırmak ve daha düzenli kod yazmanızı sağlamak için tasarlanmıştır. İşte bazı popüler PHP çerçeveleri:

Laravel

Laravel, modern PHP uygulamaları geliştirmek için popüler bir çerçevedir. Zarif sözdizimi, güçlü özellikleri ve geniş topluluk desteği ile bilinir. Laravel, MVC (Model-View-Controller) mimarisini kullanır ve geliştirme sürecini kolaylaştıran birçok araç ve özellik sunar.

Symfony

Symfony, esnek ve yeniden kullanılabilir PHP bileşenleri sunan bir çerçevedir. Büyük ve karmaşık uygulamalar geliştirmek için uygundur. Symfony, Laravel gibi MVC mimarisini kullanır ve birçok farklı veritabanı sistemiyle entegre olabilir.

CodeIgniter

CodeIgniter, hafif ve hızlı bir PHP çerçevesidir. Öğrenmesi kolaydır ve küçük ve orta ölçekli projeler için idealdir. CodeIgniter, performansa odaklanır ve geliştirme sürecini basitleştiren birçok özellik sunar.

Yii

Yii, yüksek performanslı PHP uygulamaları geliştirmek için tasarlanmış bir çerçevedir. Özellikle büyük ve karmaşık web uygulamaları için uygundur. Yii, MVC mimarisini kullanır ve güçlü önbellekleme mekanizmaları sunar.

PHP Güvenliği: Dikkat Edilmesi Gerekenler

PHP, geçmişte güvenlik açıklarıyla ünlendi. Ancak, modern PHP sürümleri ve en iyi uygulamalar takip edildiğinde, bu riskler önemli ölçüde azaltılabilir. İşte PHP geliştirirken dikkat etmeniz gereken bazı güvenlik önlemleri:

  • Giriş Verilerini Doğrulama: Kullanıcılardan gelen tüm giriş verilerini (form verileri, URL parametreleri, çerezler vb.) doğrulayın ve temizleyin. SQL enjeksiyonu, XSS (Cross-Site Scripting) gibi saldırıları önlemek için bu önemlidir.
  • Çıkış Verilerini Kodlama: Kullanıcılara gösterdiğiniz tüm verileri (özellikle veritabanından gelen verileri) uygun şekilde kodlayın. Bu, XSS saldırılarını önlemeye yardımcı olur.
  • SQL Enjeksiyonunu Önleme: Parametrelendirilmiş sorgular (prepared statements) veya ORM (Object-Relational Mapping) kullanarak SQL enjeksiyonu saldırılarını önleyin.
  • Oturum Güvenliği: Oturumları güvenli bir şekilde yönetin. Oturum kimliklerini çalınmasını önlemek için HTTPS kullanın ve oturumları düzenli olarak yenileyin.
  • Dosya Yükleme Güvenliği: Kullanıcıların dosya yüklemesine izin veriyorsanız, yüklenen dosyaların türünü ve boyutunu kontrol edin. Yürütülebilir dosyaların yüklenmesini engelleyin ve yüklenen dosyaları güvenli bir dizinde saklayın.
  • Hata Raporlaması: Üretim ortamında hata raporlamasını kapatın veya ayrıntılı hata mesajlarını günlüğe kaydedin. Hata mesajları, saldırganlara sistem hakkında bilgi verebilir.
  • Güncel Kalın: PHP'nin en son sürümünü kullanın ve güvenlik güncellemelerini düzenli olarak uygulayın. Ayrıca, kullandığınız kütüphaneleri ve çerçeveleri de güncel tutun.
  • Güvenlik Kütüphaneleri Kullanın: Güvenlik görevlerini (örneğin, şifreleme, kimlik doğrulama) gerçekleştirmek için güvenilir güvenlik kütüphaneleri kullanın.

PHP Kaynakları: Öğrenmeye Devam Edin

PHP'yi öğrenmek ve geliştirmek için birçok kaynak bulunmaktadır. İşte bazı faydalı kaynaklar:

  • PHP Resmi Belgeleri: PHP'nin resmi web sitesinde (php.net) kapsamlı belgeler, öğreticiler ve referanslar bulabilirsiniz.
  • Online Kurslar: Udemy, Coursera, Codecademy gibi platformlarda PHP öğrenmek için birçok online kurs bulunmaktadır.
  • Bloglar ve Makaleler: PHP ile ilgili birçok blog ve makale bulunmaktadır. Bu kaynaklar, yeni teknikler öğrenmek, en iyi uygulamaları takip etmek ve sorunlarınızı çözmek için faydalı olabilir.
  • Kitaplar: PHP ile ilgili birçok kitap bulunmaktadır. Bu kitaplar, PHP'nin temellerini öğrenmek ve daha ileri düzey konulara girmek için iyi bir kaynaktır.
  • Topluluklar ve Forumlar: Stack Overflow, Reddit gibi platformlarda PHP topluluklarına katılabilir, sorular sorabilir ve diğer geliştiricilerden yardım alabilirsiniz.

Sonuç: PHP ile Web Geliştirme Potansiyelini Keşfedin

PHP, web geliştirme dünyasında hala önemli bir oyuncu olmaya devam ediyor. Kolay öğrenme eğrisi, geniş kütüphane ve çerçeve desteği, büyük topluluğu ve platform bağımsızlığı gibi avantajları sayesinde, PHP ile web geliştirme projelerinizde hızlı ve verimli bir şekilde çalışabilirsiniz. Ancak, güvenlik ve performans konularına dikkat etmeniz ve en iyi uygulamaları takip etmeniz önemlidir.

Bu makalede, PHP'nin ne olduğunu, nasıl çalıştığını, neden kullanmanız gerektiğini ve web geliştirme projelerinizde nasıl kullanabileceğinizi derinlemesine inceledik. Umarım, bu bilgiler PHP dünyasına giriş yapmanıza ve web geliştirme potansiyelinizi keşfetmenize yardımcı olur.

Şimdi sıra sizde! PHP'yi öğrenmeye başlayın, projeler geliştirin ve web geliştirme dünyasında fark yaratın!

#Eğitim#Kodlama

Diğer Yazılarım

Bootstrap 5 ile Web Geliştirmeye Hızlı Bir Başlangıç

Bootstrap 5 ile Web Geliştirmeye Hızlı Bir Başlangıç

June 23, 2025 Bootstrap 5 ile Web Geliştirmeye Hızlı Bir Başlangıç Devamını oku »
PHP Değişkenleri: Derinlemesine Bir Bakış

PHP Değişkenleri: Derinlemesine Bir Bakış

June 10, 2025 PHP Değişkenleri: Derinlemesine Bir Bakış Devamını oku »
PHP Yorumları: Kodun Anlamını Açıklamak ve İyi Bir Uygulama Geliştirmek

PHP Yorumları: Kodun Anlamını Açıklamak ve İyi Bir Uygulama Geliştirmek

June 3, 2025 PHP Yorumları: Kodun Anlamını Açıklamak ve İyi Bir Uygulama Geliştirmek Devamını oku »
PHP Kurulumu: Derinlemesine Bir Rehber

PHP Kurulumu: Derinlemesine Bir Rehber

May 28, 2025 PHP Kurulumu: Derinlemesine Bir Rehber Devamını oku »
PHP'ye Giriş: Web Geliştirmenin Dinamosu

PHP'ye Giriş: Web Geliştirmenin Dinamosu

May 27, 2025 PHP'ye Giriş: Web Geliştirmenin Dinamosu Devamını oku »
Eskişehir'in Kalbi: Osmangazi Üniversitesi

Eskişehir'in Kalbi: Osmangazi Üniversitesi

May 26, 2022 Eskişehir'in Kalbi: Osmangazi Üniversitesi Devamını oku »
Anadolu Üniversitesi: Türkiye'nin Öncü Eğitim Kurumu

Anadolu Üniversitesi: Türkiye'nin Öncü Eğitim Kurumu

May 26, 2020 Anadolu Üniversitesi: Türkiye'nin Öncü Eğitim Kurumu Devamını oku »