PHP Nedir? WordPress'in Temel Komut Dosyası Dili için Yeni Başlayanlar Kılavuzu
Yayınlanan: 2022-03-22WPKube blogunda çokça bahsettiğimiz gibi, WordPress'in birçok hareketli parçası vardır. Bu nedenle, her şeyin birlikte çalışmasını ve konuşmasını sağlamak için bir dizi farklı programlama dili ve komut dosyası kullanır. HTML, CSS ve JavaScript gibi 'kutsal üçlü' dillerini sık sık okuyacak olsanız da, ilgili olarak duyacağınız dördüncü bir dil de vardır: 'PHP: Köprü Metni Ön İşlemcisi' (PHP). Terimi okuyup hala soruyorsanız, PHP nedir? , yardımcı olabiliriz!
PHP, WordPress'in farklı öğelerinin sunucuyla konuşmasına yardımcı olan bir betik dilidir. Bu, veritabanlarına erişmesine, sitenizi dinamik hale getirmesine ve neredeyse gösteriyi yürütmesine olanak tanır. PHP olmasaydı, bildiğimiz modern web'e sahip olamazdık.
Bu yazı boyunca şu soruyu cevaplayacağız: PHP nedir? Bunu kullanmanın faydalarını, WordPress ile nasıl çalıştığını ve sitenizin dilin güncel bir sürümüyle nasıl uyumlu olması gerektiğini anlayacaksınız. Bitirmek için, WordPress'in gelecekteki kod tabanını etkileyebilecek PHP'ye bazı alternatifler hakkında da konuşacağız.
Web'in Nasıl Çalıştığı (Ve Kullandığı Programlama Dilleri) Üzerine Kısa Bir Başlangıç
Farkında olmayanlar için çoğu web sitesi dosyası bir web sunucusunda yaşar. Bu, dosyaları en uygun şekilde çekip göndermenizi sağlar ve normal bir bilgisayardan farklı bir altyapıya sahiptir. Ancak, bir sitenin sağladığı veriler açısından farklı yaklaşımlara ihtiyaç duyan iki unsuru vardır:
- Müşteri tarafı. Bu gönderinin amacı için, istemci tarayıcınızdır (Güvenli Dosya Aktarım Protokolü (SFTP) hakkında konuşursak, bilgisayarınız olabilir).
- Sunucu tarafı. Web sunucusu bu rolü yerine getirir ve temel anlamda tek bir web sunucusudur. Ancak, veritabanınızla farklı görevleri yerine getirmek için birden çok sunucunuz olabilir.
Kutsal trinity web dilleri söz konusu olduğunda, bunların hepsi istemci tarafındadır. Aşağıdakileri hallederler:
- Köprü Metni İşaretleme Dili (HTML). Bunu sitenizin yapısal dili olarak kabul edin. HTML5 hile sayfamıza bir göz atarsanız, siteniz için 'konteynerler' ve bölümler tanımlamanıza izin verdiğini göreceksiniz.
- Basamaklı Stil Sayfaları (CSS). Sitenizin yapısı HTML ise, tasarım dili CSS'dir. Sitenize her türlü renk, tipografi ve şekil ekleyebilirsiniz. Bir web sayfasında gördüğünüz hemen hemen her şeyin onu sergilemek için CSS kullandığını söylemek doğru olur.
- JavaScript. Bu, muazzam bir popülariteye sahip, web'in harika betik dilidir. Web'in neredeyse yüzde 98'i, animasyonlu öğeler, etkileşim ve daha fazlasını üretmek için istemci tarafında JavaScript kullanıyor. Bir sitenin statik olmaktan ziyade dinamik olmasına yardımcı olur.
Ancak, dikkate alınması gereken sunucu tarafı işlevi de olduğundan ve çoğu web sitesi veritabanlarını kullandığından, istemci ve sunucu taraflarının konuşmasına yardımcı olacak başka bir dile de ihtiyacınız vardır. PHP'ye girin.
PHP Nedir (ve Nasıl Çalışır)
PHP, web'in temel bir parçası olarak işlev gören sunucu taraflı bir betik dilidir. Web sunucusunda çalışır ve ön uçta ne yaparsanız yapın onun tarafından bilinmesine izin verir. Bu nedenle yapılması gereken önemli bir görevi vardır.
Örneğin, bir web sitesine gitmek gibi basit bir görevi düşünün. URL'yi tarayıcıya yazacaksınız ve eylemi onayladığınızda PHP kodu sunucuda çalışacak ve ilgili HTML, CSS ve JavaScript'i döndürecektir. Bir tarayıcıda istemci tarafı dillerini ve işaretlemeyi sık sık görebilirken, PHP'yi görmek nadirdir.

Aslında, ön uçta PHP kodunu göreceğiniz tek zaman bir hatadır: ya 'yanlış kodlama' ya da sitenizle ilgili gerçek bir sorun.
Elbette, bir web sitesinin de bir veritabanı olacaktır ve PHP, buna erişmek ve isteğin bir parçası olarak verileri döndürmek için hayati öneme sahiptir. Mevcut olan tek sunucu tarafı betik dili olmasa da (bunu daha sonra tartışacağız), yaklaşık yüzde 80'lik büyük bir pazar payına sahip.
Bir Site İçin Komut Dosyası Ne Yapabilir?
Bu noktada PHP'nin (ve genel olarak komut dosyası oluşturmanın) bir siteye nasıl yardımcı olabileceği açık olmalıdır, ancak tam olarak ne yapabileceğini anlayamayabilirsiniz. Daha sonraki bir bölümde gerçek dünyadan bazı örnekler görecek olsanız da, üzerinde düşünmeniz için size birkaç pasaj verebiliriz:
- Form verileri gibi bir web sitesinde dinamik içerik oluşturmanın en iyi yoludur.
- Tanımlama bilgisi bilgilerini işlemek için komut dosyası kullanabilirsiniz.
- Komut dosyası oluşturma, web sunucusundaki dosya ve klasörleri yönetecek ve bunlarla çalışacaktır.
- Çoğu durumda Yapılandırılmış Sorgu Dili (SQL) ile birlikte, veritabanınızın verilerini eklemek, kaldırmak ve değiştirmek için de komut dosyası kullanması gerekir.
Bu nedenle, bir betik dili önemli bir bileşendir - 'fab dört'ten biri - ve PHP söz konusu olduğunda, önde gelen dildir.
Web'in Çoğu Neden PHP Kullanıyor?
Web'in neredeyse yüzde 80'i PHP kullandığından, mantıksal sonuç, bu konuda özel bir şey olduğudur. Aslında, PHP kullanmanın genel olarak komut dosyası oluşturma için olduğu kadar çok faydası vardır:
- PHP açık kaynaklı bir dildir. Bu, uygun gördüğünüz şekilde indirmenin ve kullanmanın ücretsiz olduğu anlamına gelir.
- PHP'nin nasıl öğrenileceğine dair yüzlerce – binlerce değilse bile – öğretici var ve sığ bir öğrenme eğrisi var.
- Dil çok popüler olduğu için, hemen hemen her ana bilgisayardan tonlarca destek var.
- PHP ayrıca MySQL veritabanları için yerleşik destek sunar, bu da onu birçok 'arka uç geliştirici' için en iyi seçim haline getirir.
- Güncelleme ve bakım programı düzenlidir. Sunucunuzun desteğiyle sık sık yeni sürümlerin çıktığını göreceksiniz. Örneğin, PHP 7.3 ve 7.4 popülerdir, PHP 8 siteniz için büyük iyileştirmeler sunar, ancak henüz tam olarak benimsenmemiştir.
Bu son noktaya biraz daha değinmek gerekirse, bir veritabanı çeşitli 'tatlarda' gelebilir ve eğer bir veritabanınız yoksa WordPress hata verecektir. MySQL popülerdir, ancak MariaDB tam uyumluluk sunan eksiksiz bir açık kaynaklı çataldır.

PHP bunların her ikisini de destekler, ancak aynı zamanda PostgreSQL gibi her türlü veritabanı türüne ve hatta MongoDB gibi yeni modern örneklere bağlanmanıza izin verir.
Bununla birlikte, PHP'nin, kodun temel düzeyde kafa karıştırıcı olduğunu ve diğer modern kodlama dillerinin daha iyi bir iş çıkarabileceğini belirten kötüleyicileri var. Öyle olsa bile, WordPress PHP kullanır, bu nedenle yalnızca bu nedenle platformun ve dilin nasıl çalıştığı hakkında daha fazla bilgi edinmek iyi bir fikirdir.
WordPress, Kaputun Altında PHP'yi Nasıl Kullanır?
WordPress, PHP'yi kendi başına diğer uygulamalardan farklı bir şekilde kullanmaz. Ancak biraz açıklamaya ihtiyacı var. WordPress.org sitesine giderseniz, platformun temel dosyalarının tam sürümünü indirebilirsiniz:


ZIP dosyasını çıkarır ve içeriğine bir göz atarsanız, çoğunun .php uzantısıyla bittiğini fark edeceksiniz:

Komut dosyası dilini kullanmak isteyen her dosyanın bu uzantıya ihtiyacı olacaktır. Ancak, orada da HTML göreceksiniz ve size bunun bir örneğini daha sonra göstereceğiz. WordPress'in kullandığı temalar ve eklentiler de aynı tür dosyaları kullanır.
Sitenizin dosyalarında, WordPress'in PHP dilini güvenli ve tipik bir şekilde kullanmasına yardımcı olan birçok 'işlev', 'kanca' (hem 'eylemler' hem de 'filtreler') ve daha fazlası olacaktır. Hatta platformun özellik setini geliştirmek için bunları functions.php dosyanızda kullanabilirsiniz.
Bu snippet'ler kompakt ve özlü olabilir. Örneğin, iki kelimelik the_content();
işlevi tüm gönderiyi veya sayfa içeriğini görüntüler. Bu nedenle, sitenizde ihtiyacınız olan hemen hemen her şeyi elde etmek için PHP içinde çok fazla güç vardır. WordPress'in bu kadar esnek bir İçerik Yönetim Sistemi (CMS) olmasının nedeni de budur.
WordPress'te Kullanılan Gerçek Dünyadan Bir PHP Örneği

PHP'yi WordPress'te nasıl kullandığınızı göstermek için bir dosya açıp bir göz atabiliriz. 404.php dosyasını kullanacağız çünkü kısa ve anlaşılması kolay:
<?php get_header(); ?> <header class="page-header alignwide"> <h1 class="page-title"><?php esc_html_e( 'Nothing here', 'twentytwentyone' ); ?></h1> </header><!-- .page-header --> <div class="error-404 not-found default-max-width"> <div class="page-content"> <p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try a search?', 'twentytwentyone' ); ?></p> <?php get_search_form(); ?> </div><!-- .page-content --> </div><!-- .error-404 --> <?php get_footer();
Kısa olması için yorumların bir kısmını çıkardık, ancak buradaki temel kod çalışmak için yeterlidir. İlk üç satırın kodun PHP ( <?php ?>
) olduğunu bildirdiğini fark edeceksiniz. Aslında, bu etiketlerin, göreceğiniz gibi, PHP kodunun her parçasını ayırması gerekir.
Dosya önce sitenin başlığını almak için bir işlevi çağırır, ardından kapanış etiketinden sonra bir yığın HTML kodu vardır. Bu, farklı dillerin birlikte nasıl çalıştığının bazı esnekliğini (ve karmaşıklığını) gösterir. HTML ve PHP'yi aynı dosyaya yazabilirsiniz, ancak her dil konusunda katı olmanız gerekir. HTML, açılış ve kapanış etiketleri gerektirmez.
Bu HTML boyunca, bir veya iki PHP satırı da fark edeceksiniz. Dinamik içerik WordPress'e bu şekilde girer. Snippet'ler, sunucunuzdan ve veritabanınızdan veri çeker ve bunları HTML'nizde not ettiğiniz her yerde görüntüler. Yapıyı HTML ile tanımlarsınız ve verileri PHP ile görüntülersiniz.
Dosyanın sonunda tekrar yeni bir PHP etiketi açarsınız ve sayfaya alt bilgi içeriğini görüntülemesini söylersiniz. Bu basit bir genel bakıştır, ancak WordPress'in kaç hareketli parçası olduğunu gösterir. Ayrıca, özellikle geliştirici bakımı olmadan zayıf örneklerse, yüklediğiniz eklenti veya tema sayısına bağlı olarak neden hatalarla karşılaşabileceğinizi gösterir.
PHP'ye Alternatifler (Ve WordPress Neden Bunları Kullanmıyor)
Sunucu tarafı komut dosyası oluşturma söz konusu olduğunda PHP pazarın yüzde 80'ine hakim olsa da, duyacağınız tek çözüm bu değil. Aslında, bir geliştiricinin kullanabileceği bir dizi başka dil vardır. Örneğin:
- Yakut. Bu PHP kadar eskidir, ancak özel bir web geliştirme dili değildir. Öyle olsa bile, geliştirici 'yığının' bir parçası olarak Ruby on Rails olarak bir kullanım görüyor ve büyük bir hayran kitlesine sahip.
- ASP.NET. Bu, Microsoft'un sunucu tarafı komut dosyası oluşturma konusundaki yaklaşımıdır. Yüzde on pazar payına sahiptir ve orta ve büyük ölçekli işlemler için bir betik dili olarak kullanım bulur. PHP'den tartışmasız daha yüksek bir kaliteye sahiptir, ancak geliştirilmesi daha maliyetlidir.
- Java. Java'yı JavaScript ile karıştırmamalısınız, çünkü ikisi de farklı odaklara sahip farklı dillerdir. Java, kurumsal düzeydeki uygulamalar için mükemmeldir, hata ayıklaması kolaydır, hızlı ve güvenlidir. Geliştirme maliyetleri daha yüksek olsa da, alternatif bir zaman çizelgesinde WordPress, Java'yı komut dosyası dili olarak kullanabilirdi.
- Python. Python'u veri biliminde popüler olan genel amaçlı bir dil olarak bileceksiniz. Yine de Python, Django veya Flask gibi bir çerçeve ile birleştiğinde, basit bir yapıya sahip harika bir sunucu tarafı dilidir.
Bu dillerin tüm sitelerin yalnızca yaklaşık yüzde 15-20'sini oluşturduğunu göreceksiniz. PHP, düşük geliştirme maliyetleri, sığ bir öğrenme eğrisi ve yüksek düzeyde desteğin bir karışımını sunar. WordPress'in neden PHP kullandığına gelince, bu faktörler bir rol oynar.
Ancak, konvansiyonun da bir faktör olduğunu söylemek doğru olur. WordPress'in orijinal çatalı (b2/cafelog) PHP kullanıyordu, bu yüzden WordPress de aynısını yaptı. Bu kötü bir seçim değil ve aslında WordPress'in bugün kabul ettiğimiz tüm unsurları sunmasına izin veriyor.
Toplama
WordPress, çoğu kullanıcının düşündüğünden çok daha fazlasını kapsıyor. Aslında, CMS dosyalarının web sunucusu ve veritabanı ile çalışmasına yardımcı olmak için çalışan bir programlama dili vardır. PHP, web geliştirme için temel bir dildir ve aynı zamanda WordPress'in çalışma şeklinin merkezinde yer alır.
Bu gönderi şu soruyu yanıtlamaya çalıştı: PHP nedir? Boyunca neler yapabileceğinden, genel olarak komut dosyası oluşturmanın nasıl çalıştığından ve hatta WordPress dosyalarından bir PHP kodu örneği hakkında konuştuk. Pek çok olumlu yönü olan başka betik dilleri de olsa da, PHP bir pazar lideridir ve her WordPress web sitesi için neredeyse benzersiz bir güç sunar.
Bu makale PHP'nin ne olduğunu anlamanıza yardımcı oldu mu ve başka sorunuz var mı? Aşağıdaki yorumlar bölümünde sorun!