12 Mayıs 2020 Salı

DOM (Document Object Model) Nedir ?

Yazılıma yeni başlayanların veya kod yazma dışında olayın derinliklerini merak edenlerin çok sorduğu sorulardandır: DOM nedir ? DOM ne işe yarar ? Çok kez ismini duyduklarını ama tam olarak DOM'u anlayamadıklarını söylerler. Siz de onlardansanız, hadi gelin bu sefer bu işi halledelim.


DOM Document Object Model kelimesinin kısaltılmasından gelir ve Türkçe karşılığı Belge Nesne Modelidir.
DOM, HTML, XML gibi belgelerin diğer programlama dilleri veya script dilleriyle iletişim kurabilmesini sağlamak için geliştirilmiş bir arabirimdir.
Programlama dillerinde sıkça karşımıza çıkan Object Oriented yaklaşımı da bu yapıya benzerdir. Object Oriented yaklaşımında kullandığımız nesneler yada sınıflar, DOM yapısına göre bir HTML sayfası içerisinde bulunan etiketleri (tag) kapsar.



Yukarıdaki görselde olduğu gibi HTML sayfasında bulunan , ,

,

 gibi etiketler birer DOM nesneleridir.
DOM sayesinde HTML veya XML elemanları ile programlama veya script dilleri arasında haberleşme sağlayarak daha etkileşimli web siteler yapılabilmesini sağlanır.
DOM, Javascript, PHP, ASP, Java vb. birçok dile destek verir.
Örnek olarak web projelerinde sıkça kullandığımız Javascript ile bir DOM elemanıyla iletişim kuralım.

ÖRNEK 1 
ornek.html :

  
      Dom Örneği | Mediaclick.com.tr
      
  
  
      
style

="border:solid 1px #333;" onMouseOver="renkDegistir(this)">            DOM Örneği
      
  


1-) Yukarıdaki örnekte bir HTML belgesi içerisine , ,,
gibi etiketler tanımladık.


2-)
etiketi ile Javascript kodumuzun iletişimi için
etiketine onMouseOver özelliği tanımladık ve bu özelliği renkDegistir() adında bir Javascript fonksiyonuna (this) ifadesiyle gönderdik.


3-) Javascript kodumuzda Obj parametresi ile hangi etiketten geldiğini belirledik ve o etikete Obj.style.border = ‘1px solid red’ diyerek yeni bir stil kazandırdık.

NOT : Ayrıca, DOM nesnelerine (this) gibi parametre kullanarak iletişim kurabildiğimiz gibi, id, name, class gibi özellikler (attribute) tanımlayarak da yapabiliriz.
Bir başka örnek daha yaparak DOM yapısını daha yakından tanıyalım.

Bu örnekte bir web programlama dili olan PHP’yi kullanalım. Başka dilleri de kullanabilirdik.

form.html :


  
      PHP ile DOM | Mediaclick.com.tr
  
  

action

=”post.php”>          name
="name">          name
="surname">

  

post.php

if(isset($_POST))
{
    $name = $_POST[‘name’];
    $surname = $_POST[‘surname’];
   echo “Adınız : ”.$name.“ Soyadınız : ”.$surname;
}

1-) Yukarıdaki örnekte yine bir HTML belgesi içerisinde bazı etiketler kullandık.

2-) Form etiketi içerisinde iki adet inputumuz var. Bu inputları action post.php ifadesiyle post.php adında bir php dosyasına gönderiyoruz.

3-) post.php dosyasında da inputlardan gelen ifadeleri name özelliğiyle yakalayıp değişkene atıyoruz ve ekrana basıyoruz.

Bu yazımızla DOM nedir sorusuna cevap aramaya çalıştık. Gösterdiğimiz örneklerle DOM yapısını kullanarak HTML ile javascript / PHP gibi dillerin haberleşmesini sağladık.

Umarız DOM'u anlamanızda faydası olmuştur, görüşmek üzere ...