Yazılım sürekli öğrenmeyi gerektiren, sürekli yenilenen ve gelişen bir uğraş. Programlama dillerinin bile en fazla 3 ayda bir yeni sürümünün yayınlandığı bu yarışta hızlı olmalı, çabuk öğrenmeli ve her şeyi hatasız şekilde tamamlamalısınız. PHP dilindeki durum da bundan farklı değil.
TikTok, Instagram veya YouTube üstünden uçuk kaçık videolar çekip para kazanmak dururken, sizi yazılım öğrenmeye iten sebep nedir?
PHP ile neler yapabilirim?
Öncelikli olarak web sitelerinin çalışma mantığını anlamakta yarar var.
Tarayıcımızda bir bağlantıya tıkladığımızda veya adres satırına bir internet sitesinin adresini yazdığımızda sunucu tarafına bir istek gider. İstek Apache gibi bu konuya özelleşmiş yazılım tarafından ilgili dosya ile eşleştirilir. PHP dosyası çağrılır ve işlenir. Bu işleme sırasında PHP genelde veritabanına bağlanır ve gerekli verileri alıp HTML biçiminde Apache’ye döndürür ve PHP açısından istek sonlanmış olur. Apache de HTML veriyi tarayıcıya geri iletir.
PHP ile kendinize bir web sitesi yapabilir, ürünlerinizi veya hizmetlerinizi tanıtabilir, haber sitesi kurup dünyadan haberler sunabilir, e-ticaret sitesi yapıp ürettiğiniz veya tedarik ettiğiniz ürünleri satabilirsiniz. PHP ile komut satırında çalışan uygulamalar yapmak da mümkündür.
PHP ile neler yapamam?
PHP request-response yani istek-cevap mantığında çalıştığı için çoğu zaman sunucu tarafında çalışan uygulamalar yapmak için kullanılır. PHP ile masaüstü uygulaması veya cep telefonu uygulaması yapamazsınız.
Bu dili öğrenmeli miyim?
Genç bir programlama öğrencisiyseniz veya gençseniz ve yaptığınız meslekten memnun değilseniz, PHP öğrenmek size kesinlikle bir artı değer katacaktır. Yine de PHP öğrenmenin size sınırsız iş kapıları açacağı hayaline kesinlikle kapılmayın. Öğrenmesinin kolay olması sebebiyle ülkemizde çok fazla sayıda giriş seviyesinde takılı kalmış PHP geliştiricisi bulunmaktadır. Bu durum, bu ekosistemdeki emek piyasasının bozulmasına ve geliştiricilerin pek çoğunun hak ettiğinden az kazanmasına yol açıyor.
Üniversite eğitiminizi tamamlamış ve IT sektöründe bir şekilde giriş yapmışsanız PHP yerine Java, Kotlin, C# veya benzer dilleri öğrenmeniz, size daha fazla değer katacaktır.
PHP’nin kökeni nedir?
İnternetin ilk zamanlarında çoğu site statik içerikten ibaretti. Kullanıcılar ile etkileşim sınırlıydı veya hiç yoktu. Sitenizi kaç kişinin ziyaret ettiğini bile bilmenizin olanağı neredeyse yoktu. Yine de C ile çeşitli CGI betikleri yazmak mümkündü. Rasmus Lerdorf kendi sitesi için çeşitli CGI betikleri hazırlayarak işe koyulduğunda yıl 1994’ü gösteriyordu. İnternetin henüz erken dönemleri olduğu için çok fazla alternatif yoktu ve PHP bu konuda öncü olmanın yanında tamamen ücretsizdi. 1997 yılının ortasına gelindiğinde 50.000 web sitesi PHP kullanıyordu.
PHP ücretli midir?
- PHP özgür bir yazılımdır. Sizden dolaylı veya dolaysız yollardan lisans ücreti talep etmez.
- Sunucu tarafında yaygın şekilde Apache ile kullanılır ve Apache de aynı şekilde bir özgür yazılım projesidir.
- PHP kodlarını yazmak için paralı ve özel bir Bütünleşik Geliştirme Ortamı’na (IDE) ihtiyacınız yoktur.
- PHP çalışmak için özel bir işletim sistemine gereksinim de duymaz. Linux, Mac veya Windows işletim sistemlerinde çalışabilir.
- PHP veritabanı desteği konusunda çok gelişmiştir. MySQL/MariaDB, PostgreSQL gibi ücretsiz veya MSSQL veya Oracle gibi ücretli veritabanları ile sorunsuz şekilde çalışır.
Not:
Burada bahsi geçen terimler ve anlamları için şöyle güzel bir metnimiz var.
Kimler tarafından kullanılıyor?
Facebook, Wikipedia, WordPress, Spotify gibi küresel siteler PHP kullanmaktadır. Ülkemizdeki pek çok e-ticaret sitesinin de PHP ile yazıldığı görülmektedir (Reklam olacağı için bağlantı vermiyorum). PHP ile yazılmış ücretli veya ücretsiz pek çok içerik yönetim sistemi (CMS) de bulunmaktadır.
Esnek dil yapısı, sürekli güncellenmesi, zamanla sürekli kendini yenilemesi, OOP yani Nesne Yönelimli Programlama’yı desteklemesi, fiyat-performans açısından çok etkili sonuçlar üretmesi ve çok geniş bir topluluk desteğine sahip olması sebebiyle pek çok şirket PHP kullanmayı tercih etmektedir.
PHP için öldü diyorlar, öğrenmeye değer mi?
PHP’nin yavaş yavaş popülerliğini kaybetmeye başladığı gözlemlenmektedir ve JavaScript ve türevi dillere geçiş gözlemlenmektedir. Her dönem belli dillerin popüler olması veya popülerliğini kaybetmesi çok doğal bir süreçtir. Şu an yayında olan her 100 web sitesinin 78 tanesi PHP ile yazılmış durumdadır. PHP aktif şekilde güvenlik ve hata düzeltmeleri almaktadır.
PHP’yi nereden, nasıl öğrenebilirim?
Bunun için pek çok kaynak bulunmaktadır. Bu kaynakların kimisi çok yüzeysel olarak temel PHP özelliklerini işleyip konunun pratik yönünü atlayabilmektedir.
Bu dil için geliştirilmiş en gelişmiş eğitim, Zend firması tarafından hazırlanmış olan ve 3 aşamadan oluşan PHP Fundamentals eğitim serisidir. Maalesef bu eğitimlerin hepsi ücretli, tamamen İngilizce ve çok pahalı eğitimlerdir. Sertifika hariç 3.500 dolar tutmaktadır. Bu kadar büyük bir bütçeniz olmadığına emin olduğum için sizin için tamamen ücretsiz birkaç PHP eğitimi tavsiyesinde bulunacağım.
patika.dev PHP patikaları
PHP uygulamaları her ne kadar sunucu tarafında çalışsa da sonuçlarını HTML biçiminde dönüştürdükleri için temel düzeyin üstünde HTML bilgisi, yeterli düzeyde CSS ve JavaScript bilgisine sahip olmadan doğrudan PHP’yi öğrenmeye çalışmak, çok büyük bir hata olacaktır. Bu konuda patika.dev sitesi 3 farklı PHP patikası hazırlamış görünüyor. “Başlangıç Seviye PHP ile Backend Web Development Patikası” bu konuda Türkçe olarak hazırlanmış en zengin eğitim içeriği olarak karşımıza çıkıyor. Patika.dev sitesine üye olmak da tamamen ücretsiz ve en güzeli her patikayı tamamladığınızda size referans olarak sunabileceğiniz bir sertifika sunuyor.
Patika.dev eğitimleri sadece giriş düzeyiyle de sınırlı değil. Orta Düzey ve İleri Düzey PHP eğitim patikaları da bulunuyor ve bu eğitimler de OOP/Nesneye Yönelik Programlama, Yazılım Mühendisliği 101, SQL, NoSQL, Rest API gibi konular da içeriyor.
Patika.dev sitesi sadece PHP’yi değil, daha pek çok dile dair eğitimi size ücretsiz olarak sunuyor ve Bootcamp etkinlikleri de düzenliyor. Patikaları tamamladığınızda bu kamplara da katılma şansınız oluyor.
btkakademi.gov.tr
BTK Akademi 2017 yılında faaliyetine başlamış. PHP eğitimi özelinde bakarsak yeterince doyurucu bir eğitim sunuyor. Eğitimin sonunda basit bir e-ticaret sitesi projesi de yazmış oluyorsunuz. Gerekli dil araçlarının kurulumuyla başlayan anlatım temel düzeyde HTML, CSS ve JavaScript konularını da işliyor ama genel ağırlığını PHP’ye veriyor. Eğitimin sonunda küçük bir sınav oluyor ve sınavı geçtiğiniz takdirde Katılım Belgesi alabiliyorsunuz. Maalesef eğitimlerin en az %80’ini izlemeden sertifika sınavına giremiyorsunuz. Sınavdan en az 70 almanız gerekiyor ve en fazla 3 defa bir sınava girebiliyorsunuz. BTK Akademi, sadece başlangıç düzeyinde eğitim içeriyor. Orta veya İleri Düzey eğitim içermiyor. Kayıt olmak için e-devlet ile giriş yapmanız yeterli.
Bu eğitim, Volkan Alakent tarafından hazırlanmış. Volkan Bey aynı zamanda JavaScript ve CSS eğitimi de hazırlamış. Front-end geliştirme araçlarını öğrenmek istiyorsanız bu eğitimler kesinlikle işinize yarayacaktır.
Bonus:
BTK Akademi sitesinde Pardus Arayüz Eğitimi dersi de verilmektedir.
W3Schools.com
W3Schools temel seviyede internet ve web teknolojileri konularında ücretsiz eğitim vermesiyle ünlü bir web sitesi. PHP, SQL/MySQL, HTML, CSS, JavaScript ve daha pek çok konuda birbirinden bağımsız eğitimler içermekte.
Patika.dev ve BTK Akademi gibi video eksenli eğitim yerine sindirilebilir parçalara ayrılmış, basit İngilizce anlatımlarla metin tabanlı olarak konular anlatılmaktadır. Eğitimleri anlayabilmek için giriş düzeyinde veya üstünde İngilizce bilmeniz gerekmektedir.
Udemy.com eğitimleri
Udemy sitesi eğitmenlerin ücretli veya ücretsiz eğitim verebileceği bir platform olarak öne çıkıyor. PHP konusunda Türkçe hazırlanmış çeşitli içerikler de sitede bulunuyor. Maalesef PHP’ye yönelik hazırlanmış ücretsiz içeriklerin hiçbirisi giriş düzeyi için yeterli bilgiyi sağlayacak düzeye değil. Ücretli eğitimler ise 150-250 dolar civarında görünüyor. Ücretli bir Udemy eğitimini tercih edecek olursanız, OOP/Nesneye Yönelik Programlama konusuna ne kadar yer ayırdığına mutlaka bakın. Ayrıca PHP ile Güvenli Kodlama konularını içerdiğinden emin olmakta yarar var.
Hangi kitabı tavsiye edersiniz?
PHP eğitimine yönelik yayınlanmış kitapların çoğu çok eski tarihli. En güncel iki kitap, 2019 tarihinde yayınlanmış. Mehmet Ali Uysal tarafından hazırlanmış olan PHP Eğitim Kitabı, güncel sürüme yönelik olması, OOP/Nesneye Yönelik Programlama konularına geniş yer vermesi sebebiyle yukarıdaki eğitimlerden sonra orta seviye eğitim için kullanabileceğiniz bir kaynak olarak öne çıkıyor. Diğer kitaplar artık desteklenmeyen PHP 7 öncesi sürümlere yönelik hazırlanmış oldukları için güncelliğini kaybetmiş durumdalar.