PHP | Jquery | Css | Codeigniter | Unity3D


Merhaba arkadaşlar bu yazımda sizlere phpde include(), require() ve require_once() harici dosya çağırma fonksiyonlarının farkları nedir neden bu kadar çeşitlidir bunun sebebinden bahsetmeyi düşünüyorum umarım faydalı olur. Bu yazıyı okurken sadece bu fonksiyonlar ve kullanım farkları anlatılacak gibi düşünmeyin konuyu biraz dallandırmayı ve farklı örnekler vermeyi düşünüyorum bu da özellikle yeni başlayan arkadaşlar için kod yazma stratejisi konusunda faydalı olacaktır.

Evet arkadaşlar bildiğiniz üzre php web programlama dilinde sayfaya harici doysa çağırmak ya da yüklemek için kullandığımız fonksiyonlar mevcut, bunların kullanım farklarını anlatmadan önce isterseniz bu fonksiyonları hangi durumlarda kullanırız buna bir bakalım. Şimdi bu fonksiyonları ilk olarak şu durumda kullanabilirsiniz; php dilinde sayfa kodluyoken sayfa yapınızı modüler bir sistemden oluşacak şekilde inşa edebilirsiniz. Nasıl mı ? İsterseniz örnek kodla açıklayalım, bu kodların kullanımını hiç bilmeyen arkadaşlara da örnekle anlatmış olur oradan da farklarına geçeriz şimdilik sadece mesele harici bir php dosyasını yani php kodlarını sayfaya yükleme işlemi olduğunu bilelim.

Şimdi modüler yapımız şu şekilde olsun; sayfanın navigasyon ya da header kısmının kodları header.php den gelicek, orta kısım content.php alt kısım ise footer.php yani sayfanın bölümlerini ayrı sayfalar halinde oluşturup birleştirme işlemi yapıcaz. Wordpress tema yapısı da bu şekilde işlemektedir ( Ek bilgi )


<?php

include ('header.php');

include ('content.php');

include ('footer.php');

?>

Temel olarak bu şekilde olabilir ama siz sidebarı da bölebilrsiniz mesela hattaistediğiniz kadar bölümde oluşabilir. Biz burada sayfanın kodlarını tek sayfada yazmadık da parçalara böldük. Neden yapalım bunu diyecek olursanız. Yönetimin kolay olması için diyebiliriz hem de kodların karışmaması ve hata ile karşılaşıldığında çözüme kolay gidebilmek için diyebiliriz. Ve bu yapı aslında düz yapıya göre esneklik de sağlar diyebiliriz.

Şimdi gelelim muhtemel ikinci kullanım yerine; örneğin php frameworkler ile çalıştıysanız bu yapılarda yani frameworklerde genellikle sayfada kullanılacak fonksiyonlar için ayrı bir kaynak dosyası oluşturulur ve kullanmak istediğiniz fonksiyona erişmek için tutup da kodun tamamını kullanacak olduğunuz yere kopyalamaz (yazmazsınız), bu kod kalabalığı ve kullanışlılık açısından istenmeyen bir durumdur. Yani mesela girilen metnin karakter sayısını geri dönderen bir fonksiyon için; önce fonksiyon dosyasını içeri yüklersiniz sonra da fonksiyonu çağırırsınız böylelikle kod kalabalığından da kurtulmuş olursunuz daha sistematik bir yapı oluşur. Yine aynı şekilde genellikle görürsünüz php için veritabanı bağlantısı için fonksiyon dosyası oluşturulur ve sayfada veritabanı bağlantısı yapacak olduğunuzda öncelikle fonksiyon dosyasını içeri aktarırsınız sonra da bağlantı(fomksiyom)dosyasındaki fonksiyonu çağırırsınız. Bu konu bu kadar uzun sürmez diyeceksiniz belki ama bilinçli olarak dallandırıyorum ki diğer konularla ilişkisini kurun ve farklı şeyler de öğrenilmiş olsun ;)

Peki Bunlar Arasındaki Fark Nedir ?

include()

Biraz laf kalabalığından sonra, aslında biraz aklınızda şekillenmesini istedim ki şimdi gelelim bu dosya çağırma fonksiyonları arasındaki farka. Öncelikle include() ile başlayalım. Php kod yazmayı öğrenirken diğerleri arasından ilk bu kodu öğrenirsiniz ( veritabanı bağlantı dosyası yüklerken ). Arkadaşlar include sadece istenen dosyayı içeri yükler yani sayfada eklediğiniz yere dahil eder. Dİyelim ki çağırdığınız dosya adı hatalı ya da silinmiş bu durumda ne olur ? Bu durumda php warning! alırsınız. Peki warning nedir ? Php de warning alırsanız warnig(uyarı) aldığınız satırdan sonraki kod çalışır yani programı durdurmaz. Sadece uyarı verir ama kod çalışır. Bu uyarıyı da gizlemek için error_reporting(0) yazarak bu uyarıyı gizleyebilirsiniz ama dosya yüklenmiş olmaz, dosya yüklenmedi diye sonrasındaki kodu da durdurmaz. Yani bu dosya yüklense de yüklenmese de olur demiş olursunuz php ye :)

require()

Şimdi gelelim require() koduna, bu kod ile arkadaşlar require ile dahil ettiğiniz dosya yüklenmezse yani bulunamazsa php size error verir yani fatal error, bu ne demek ? Php fatal error verirse fatal error verdiği yerden sonraki kodu çalıştırmaz yani programa sanki exit() demiş gibi olursunuz, program ordan kesilir, durur. YAni siz php ye arkadaşım require ile yüklediğim dosya hayati öneme sahip, yükleyemezsen programın çalışmaya devam etmesinin bir anlamı da yok demiş olursunuz :))

require_once()

Sıra geldi require_once() koduna, öncelikle require için söylediklerimin hepsi bunun için de geçerli ancak bir üstünlüğü ya da farkı var diyebiliriz. Bu kodda da dosya bulunamazsa kodun ordan sonrasını öldürür(çalıştırmaz) ve yaptığı diğer iş de yüklemeye çalıştığın dosyayı daha önce aynı sayfada yüklemiş misin ? Daha önce aynı dosyayı yüklediysen ikinci kez yüklemez istersen 10 defa yükelmeye çalış bir tane yükler o da ilk yüklediğindir. yazının sonuna geldik arkadaşlar, yazıyla ilgili soru, görüş, öneri ve geri bildirimleriniz için yorum atabilirsiniz.

İyi çalışmalar ..



Soru ve Tartışma Konularınız için;

Yayınlayan
comments powered by Disqus
Yazar: Windofelm
Description: Php programlama dilinde kullanılan harici dosya yükleme(çağırma) fonksiyonlarını ele alım ve arkları nedir buna bakalım.