PHP Nedir? Ne İşe Yarar?
PHP’nin ne olduğunu, web geliştirmede hangi amaçlarla kullanıldığını ve neden hâlâ önemli bir backend dili olduğunu sade bir dille öğreniyoruz. Bu yazı, PHP Temel Eğitim Serisi’nin ilk adımıdır.
PHP Nedir? Ne İşe Yarar?
PHP öğrenmeye başlarken ilk yapılması gereken şey, bu dili sadece “bir programlama dili” olarak ezberlemek değil, web dünyasında hangi problemi çözdüğünü anlamaktır.
Çünkü PHP’yi gerçekten anlamadan direkt değişkenlere, if koşullarına veya veritabanı işlemlerine geçersen, kod yazarsın ama neyi neden yaptığını tam oturtamazsın. Bu da ileride Laravel, API geliştirme, admin panel, form işlemleri veya veritabanı bağlantısı gibi konularda kafanı karıştırır.
Bu yüzden bu ilk yazıda acele etmiyoruz. Önce PHP’nin ne olduğunu, ne işe yaradığını, nerelerde kullanıldığını ve modern web geliştirme içindeki yerini netleştiriyoruz.
PHP Nedir?
PHP, özellikle web geliştirme için kullanılan sunucu taraflı bir programlama dilidir.
Buradaki “sunucu taraflı” ifadesi önemli.
Bir web sitesine girdiğinde tarayıcıda gördüğün HTML, CSS ve JavaScript dosyaları vardır. Bunlar kullanıcının tarayıcısında çalışır. PHP ise genellikle kullanıcının bilgisayarında değil, web sitesinin barındırıldığı sunucuda çalışır.
Basit şekilde düşünürsek:
Kullanıcı bir sayfaya girer.
Tarayıcı sunucuya istek gönderir.
Sunucu tarafında PHP kodu çalışır.
PHP gerekli işlemleri yapar.
Sonuç olarak tarayıcıya HTML, JSON veya başka bir çıktı döner.
Yani kullanıcı çoğu zaman PHP kodunu doğrudan görmez. Kullanıcının gördüğü şey, PHP’nin çalıştıktan sonra ürettiği sonuçtur.
Örneğin bir blog yazısı detay sayfasına girdiğinde, arkada şu işlemler olabilir:
PHP URL’den hangi yazının istendiğini anlar.
Veritabanından ilgili yazıyı çeker.
Yazının başlığını, içeriğini, yazarını ve yayın tarihini hazırlar.
HTML sayfasını oluşturur.
Tarayıcıya sonucu gönderir.
Kullanıcı sadece güzel görünen blog sayfasını görür. Ama o sayfanın arkasındaki dinamik işlerin önemli bir kısmı PHP tarafından yapılmış olabilir.
PHP Ne İşe Yarar?
PHP’nin temel amacı, dinamik web uygulamaları geliştirmektir.
Statik bir HTML dosyasında içerik sabittir. Ne yazdıysan kullanıcı onu görür. Ama gerçek projelerde işler böyle yürümez. Kullanıcı giriş yapar, yazı ekler, yorum yapar, ürün sepete ekler, ödeme yapar, profil bilgilerini günceller, dosya yükler, sipariş verir.
İşte bu tarz işlemler için backend tarafında bir dile ihtiyaç duyarsın. PHP burada devreye girer.
PHP ile şunları yapabilirsin:
Dinamik web sayfaları oluşturabilirsin.
Formlardan gelen verileri işleyebilirsin.
Veritabanına veri kaydedebilirsin.
Veritabanından veri okuyabilirsin.
Kullanıcı girişi ve üyelik sistemi geliştirebilirsin.
Session ve cookie yönetimi yapabilirsin.
Dosya yükleme işlemleri yapabilirsin.
E-posta gönderimi yapabilirsin.
Admin panel geliştirebilirsin.
Blog, haber sitesi, e-ticaret sitesi, CRM veya özel yönetim sistemleri yazabilirsin.
API geliştirebilirsin.
Yani PHP sadece ekrana yazı bastırmak için kullanılan basit bir dil değildir. Doğru kullanıldığında ciddi web uygulamalarının backend tarafını yönetebilir.
PHP Nasıl Çalışır?
PHP’nin çalışma mantığını anlamak için basit bir örnek düşünelim.
Sen tarayıcıya şu adresi yazdın:
https://ornek-site.com/blog/php-nedir
Bu istek sunucuya gider. Sunucuda PHP çalışan bir uygulama varsa, PHP bu isteği karşılar.
Arka planda şu tarz bir akış oluşabilir:
1. Kullanıcının istediği URL alınır.
2. Bu URL’nin hangi sayfaya ait olduğu belirlenir.
3. Gerekirse veritabanına sorgu atılır.
4. İlgili blog yazısı bulunur.
5. Sayfa için gerekli HTML oluşturulur.
6. Tarayıcıya cevap gönderilir.
Tarayıcıya dönen şey genellikle PHP kodunun kendisi değil, PHP’nin ürettiği çıktıdır.
Basit bir PHP örneği:
<?php
echo "Merhaba PHP";
?>
Bu kod çalıştığında ekrana şu çıktı gelir:
Merhaba PHP
Ama gerçek projelerde PHP sadece böyle basit metinler yazdırmaz. Kullanıcıdan veri alır, veritabanı ile konuşur, güvenlik kontrolleri yapar, iş kurallarını çalıştırır ve uygulamanın backend tarafını yönetir.
PHP Nerelerde Kullanılır?
PHP en çok web tabanlı projelerde kullanılır.
Örneğin:
Blog sistemleri
Kurumsal web siteleri
Haber siteleri
E-ticaret siteleri
Admin paneller
CRM sistemleri
ERP benzeri özel yazılımlar
Rezervasyon sistemleri
Üyelik sistemleri
API servisleri
Form ve başvuru sistemleri
İçerik yönetim sistemleri
WordPress, Drupal, Joomla gibi çok bilinen içerik yönetim sistemleri PHP ile geliştirilmiştir. Ayrıca Laravel, Symfony gibi modern framework’ler sayesinde PHP ile daha düzenli, güvenli ve sürdürülebilir projeler geliştirmek mümkündür.
Burada önemli bir noktayı net söylemek gerekir:
PHP öğrenmek sadece WordPress teması düzenlemek demek değildir.
PHP ile sıfırdan backend yazabilir, API geliştirebilir, admin panel oluşturabilir, servis mimarisi kurabilir ve büyük ölçekli uygulamalar geliştirebilirsin. Ama bunun için dili yüzeysel değil, mantığıyla öğrenmen gerekir.
PHP Neden Hâlâ Kullanılıyor?
PHP hakkında internette çok fazla eski ve ezbere yorum vardır. Bazıları PHP’nin artık kullanılmadığını söyler. Bu doğru değildir.
PHP hâlâ web dünyasında ciddi şekilde kullanılan bir dildir. Bunun birkaç temel sebebi var:
Öğrenmesi görece kolaydır.
Web geliştirme için doğrudan tasarlanmıştır.
Hosting desteği çok yaygındır.
Laravel gibi güçlü framework’lere sahiptir.
Veritabanı işlemleri için kullanışlıdır.
Topluluğu büyüktür.
Dokümantasyon ve kaynak bulmak kolaydır.
Küçük projeden büyük projeye kadar kullanılabilir.
Ama burada dürüst olmak gerekiyor: PHP kötü yazılmaya çok müsait bir dildir.
Disiplinsiz yazarsan kod çok hızlı şekilde çöp haline gelir. Her şeyi tek dosyaya doldurmak, veritabanı sorgularını HTML’in içine gömmek, güvenlik kontrollerini umursamamak, tekrar eden kodlar yazmak ve yapıyı plansız kurmak projeyi kısa sürede yönetilemez hale getirir.
Bu PHP’nin suçu değil, yazılım disiplininin eksikliğidir.
Modern PHP tarafında artık namespace, class, interface, trait, enum, type declaration, composer, autoload, framework mimarisi, test, dependency injection gibi ciddi kavramlar vardır. Yani PHP hâlâ basit başlanabilir bir dil olsa da profesyonel seviyede kullanmak için sağlam temel gerekir.
PHP ile HTML Arasındaki Fark Nedir?
Yeni başlayanların en çok karıştırdığı konulardan biri PHP ile HTML arasındaki farktır.
HTML bir işaretleme dilidir. Sayfanın iskeletini oluşturur.
Örneğin:
<h1>Merhaba Dünya</h1>
Bu kod tarayıcıya bir başlık gösterir.
PHP ise programlama dilidir. Karar verebilir, işlem yapabilir, veri işleyebilir.
Örneğin:
<?php
$name = "Mustafa";
echo "<h1>Merhaba " . $name . "</h1>";
?>
Bu kod çalışınca HTML üretir.
Sonuç olarak tarayıcı şunu görür:
<h1>Merhaba Mustafa</h1>
Yani PHP, HTML oluşturabilir. Ama HTML, PHP gibi işlem yapamaz.
Kısa şekilde:
HTML sayfanın yapısını oluşturur.
CSS sayfanın görünümünü düzenler.
JavaScript tarayıcı tarafında etkileşim sağlar.
PHP sunucu tarafında iş mantığını çalıştırır.
PHP ile JavaScript Arasındaki Fark Nedir?
JavaScript genellikle tarayıcı tarafında çalışan bir dildir. Kullanıcının ekranda yaptığı işlemlere anlık tepki vermek için kullanılır.
Örneğin:
Butona tıklanınca modal açmak
Form alanlarını anlık kontrol etmek
Sayfayı yenilemeden API’ye istek atmak
Menü açıp kapatmak
Dinamik arayüz davranışları oluşturmak
PHP ise çoğunlukla sunucu tarafında çalışır.
Örneğin:
Kullanıcıyı veritabanından kontrol etmek
Şifre doğrulamak
Blog yazılarını listelemek
Siparişi kaydetmek
Yetki kontrolü yapmak
API cevabı üretmek
Modern projelerde PHP ve JavaScript genellikle birlikte çalışır.
Örneğin frontend tarafında JavaScript ile Axios kullanarak API’ye istek gönderirsin. Backend tarafında PHP bu isteği karşılar, veritabanı işlemini yapar ve JSON cevap döner.
Bu yapı günümüzde oldukça yaygındır.
PHP ile Veritabanı Kullanımı
PHP’nin en güçlü kullanım alanlarından biri veritabanı ile çalışmasıdır.
Çünkü gerçek projelerde bilgiler çoğu zaman sabit dosyalarda tutulmaz. Kullanıcılar, blog yazıları, ürünler, siparişler, yorumlar, ayarlar ve yetkiler gibi veriler veritabanında saklanır.
PHP ile örneğin şunları yapabilirsin:
Yeni kullanıcı kaydı oluşturmak
Kullanıcı giriş bilgilerini kontrol etmek
Blog yazılarını listelemek
Ürünleri filtrelemek
Yorumları kaydetmek
Admin panelden içerik yönetmek
Raporlama ekranları hazırlamak
PHP genellikle MySQL veya MariaDB ile birlikte kullanılır. Bunun yanında PostgreSQL gibi farklı veritabanlarıyla da çalışabilir.
Bu serinin ilerleyen bölümlerinde PHP ile MySQL bağlantısı, veri ekleme, veri listeleme, güncelleme ve silme işlemleri ayrı ayrı ele alınacak.
PHP Öğrenirken Nelere Dikkat Etmelisin?
PHP’ye başlarken yapılan en büyük hata, sadece kod parçalarını ezberlemektir.
Örneğin şunu ezberlemek kolaydır:
if koşulu böyle yazılır.
foreach böyle kullanılır.
POST verisi böyle alınır.
Session böyle başlatılır.
Ama asıl önemli olan şudur:
Bu yapı hangi problemi çözüyor?
Nerede kullanılır?
Yanlış kullanılırsa ne olur?
Güvenlik açısından nelere dikkat edilmelidir?
Kod büyüyünce nasıl düzenli tutulur?
Başlangıç seviyesinde bile bu bakış açısını kazanırsan, ileride framework öğrenirken çok daha rahat edersin.
Özellikle şu konulara dikkat etmelisin:
Değişken isimlerini anlamlı seç.
Kodları tek dosyaya yığma alışkanlığı edinme.
Form verilerini kontrol etmeden kullanma.
Veritabanı işlemlerinde güvenliği önemse.
Hata mesajlarını anlamaya çalış, ezbere çözüm arama.
Kodun neden çalıştığını anlamadan kopyala-yapıştır yapma.
Bu noktada biraz sert söylemek lazım: PHP öğreniyorum deyip sadece hazır kod kopyalayarak ilerlersen, bir süre sonra çalışan ama ne yaptığı belli olmayan kodlarla boğuşursun. Gerçek gelişim, kodun arkasındaki mantığı anladığında başlar.
PHP ile Neler Yapabiliriz?
PHP ile küçük bir iletişim formundan büyük bir yönetim paneline kadar birçok sistem geliştirilebilir.
Örneğin basit seviyede:
İletişim formu
Blog yazı listeleme
Kullanıcı kayıt sistemi
Basit admin panel
Dosya yükleme sistemi
Yorum sistemi
Orta seviyede:
Çok kullanıcılı blog sistemi
Üyelik ve yetki sistemi
Kategori ve etiket yapısı
E-posta bildirimleri
API servisleri
Raporlama ekranları
İleri seviyede:
Laravel tabanlı büyük uygulamalar
Queue ve job sistemleri
REST API mimarisi
Mikro servis bağlantıları
Ödeme entegrasyonları
Cache sistemleri
Test edilebilir servis yapıları
Modüler admin paneller
Yani PHP’ye basit bir yerden başlanır ama konu doğru ilerlerse ciddi yazılım mimarilerine kadar gider.
PHP Öğrenmek İçin Önceden Ne Bilmek Gerekir?
PHP öğrenmeye başlamadan önce temel HTML bilgisine sahip olmak işini kolaylaştırır. Çünkü PHP çoğu zaman HTML ile birlikte çıktı üretir.
CSS bilmek zorunlu değildir ama web sayfalarının görünümünü anlaman için faydalıdır.
JavaScript bilmek başlangıç için şart değildir. Ama modern web projelerinde frontend ve backend iletişimini anlamak için ilerleyen süreçte JavaScript öğrenmek gerekir.
Veritabanı bilgisi de başlangıçta zorunlu değildir. Fakat PHP’nin gerçek gücünü görmek için MySQL veya MariaDB gibi bir veritabanıyla çalışmayı öğrenmen gerekir.
Bu eğitim serisinde önce PHP’nin temel sözdizimi ve mantığı ele alınacak. Sonrasında form işlemleri, session-cookie kullanımı, dosya işlemleri ve mini proje ile temel seviye tamamlanacak.
Basit Bir PHP Akışı
PHP ile çok basit bir karşılama örneği yazalım:
<?php
$name = "Mustafa";
echo "Merhaba " . $name . ", PHP eğitimine hoş geldin.";
?>
Bu kodda birkaç temel şey var:
$name adında bir değişken oluşturduk.
İçine Mustafa değerini verdik.
echo ile ekrana çıktı bastık.
Nokta işareti ile metinleri birleştirdik.
Çıktı şu olur:
Merhaba Mustafa, PHP eğitimine hoş geldin.
Şu an bu örnek çok basit görünebilir. Ama PHP’deki birçok büyük işlem bu temel mantıkların üzerine kurulur.
Değişken oluşturursun.
Veri alırsın.
Kontrol edersin.
İşlersin.
Sonuç üretirsin.
Bir blog sisteminde de, e-ticaret sitesinde de, admin panelde de bu temel akış değişmez. Sadece yapı büyür ve daha profesyonel hale gelir.
PHP’nin Avantajları
PHP’nin öne çıkan avantajlarını şöyle özetleyebiliriz:
Başlangıç için öğrenmesi kolaydır.
Web geliştirme odaklıdır.
Geniş hosting desteği vardır.
MySQL ve MariaDB ile güçlü çalışır.
Laravel gibi modern framework’lere sahiptir.
Topluluk ve kaynak sayısı fazladır.
Küçük projelerde hızlı geliştirme sağlar.
Büyük projelerde doğru mimariyle kullanılabilir.
PHP’nin Zayıf Yönleri
Her teknolojide olduğu gibi PHP’nin de zayıf tarafları vardır.
Eski ve kötü yazılmış çok fazla PHP kodu vardır.
Disiplinsiz kullanıldığında proje hızlıca dağılır.
Güvenlik konuları ihmal edilirse ciddi açıklar oluşabilir.
Başlangıç kolay olduğu için kötü alışkanlık edinmek de kolaydır.
Modern standartlar öğrenilmezse eski tarz kod yazmaya devam edilir.
Bu yüzden PHP öğrenirken sadece “çalışıyor mu?” sorusuna odaklanmak yeterli değildir.
Daha doğru soru şudur:
Bu kod okunabilir mi?
Güvenli mi?
Genişletilebilir mi?
Tekrar kullanılabilir mi?
Hata aldığında yönetilebilir mi?
Bu bakış açısı seni sıradan kod yazan birinden ayırır.
PHP Öğrenmeye Nereden Başlamalıyız?
Bu seride PHP’ye en temelden başlayacağız.
İlk aşamada şu konulara odaklanacağız:
PHP’nin ne olduğu
Kurulum ve geliştirme ortamı
PHP dosya yapısı
Değişkenler ve veri tipleri
Operatörler
Koşullar
Döngüler
Diziler
String işlemleri
Fonksiyonlar
Dosya parçalama mantığı
GET ve POST işlemleri
Session ve cookie kullanımı
Dosya yükleme
Tarih ve saat işlemleri
Hata yönetimi
Mini iletişim formu projesi
Bu sıra rastgele seçilmiş değil. Her konu, bir sonraki konunun temelini oluşturacak şekilde ilerleyecek.
Sonuç
PHP, web geliştirme dünyasında uzun süredir kullanılan, özellikle backend tarafında güçlü bir yere sahip olan bir programlama dilidir.
Yeni başlayanlar için erişilebilir bir dildir ama bu seni yanıltmasın. Basit başlanabilmesi, profesyonel kullanılmadığında sorun çıkarmayacağı anlamına gelmez.
PHP ile gerçekten iyi projeler geliştirmek istiyorsan, sadece kodun çalışmasına değil, kodun mantığına, güvenliğine ve sürdürülebilirliğine de dikkat etmelisin.
Bu yazıda PHP’nin ne olduğunu, ne işe yaradığını, nerelerde kullanıldığını ve web geliştirme içindeki temel rolünü gördük.
Bir sonraki yazıda PHP kurulumu ve geliştirme ortamının hazırlanması konusuna geçeceğiz.
Yorumlar ve yanıtlar
Post içeriğinden ayrı, sakin bir yorum akışı.