ASP.NET İmla Kuralları - 2

İmlâ kuralları serimizdeki ikinci yazımızda ASP.NET 'Yönerge'lerinin sözdiziminden bahsediyoruz.

İmlâ kurallarına devam ediyoruz. Bu konudaki ilk yazımızda ASP.NET dosyalarında, sunucu tarafında icra edilecek kodları sayfa içerisinde hangi bölgelere yazabileceğimizi ve bunların getireceği sonuçları işlemiştik. Son olarak da dil-bağımsız sunucu taraflı yorum bloklarına değinmiştik. Şimdi biraz daha ilerleyelim ve geriye (yani ASP'ye) ket vurarak diğer ASP.NET'deki sözdizimi yeniliklerine göz atalım.

Yönergeler (Directives)

Önce tanımlayalım. Yönergeler, bir web formu (.aspx) veya bir kullanıcı kontrolü (.ascx) içerisine yazılan, derleyiciye bir takım belirli bildirimlerin yapıldığı kod parçalarıdır. ASP'ye âşina olanlar, sayfa içerisinde kullanılacak sunucu taraflı script dilini belirtmek için kullanılan Page yönergesini hatırlayacaklardır. ASP.NET'de yönergeler ASP'den tanıdığımız söz dizimiyle yazılıyorlar. Hemen bir örnek:

<%@ Page Language="VB" Debug="True" EnableViewState="False" %>

Evet, aynen ASP'de olduğu gibi, <%@ ile başlayıp %> ile biten bir alan içerisinde, yönerge adı ile başlayarak (bu örnekte Page), derleyiciye bir şeyler anlatmaya çalışıyoruz. Tüm yönergeleri bu yapıda yazıyoruz. Bir sayfada, elbette birden fazla yönerge kullanmamız gereken durumlar olacak. O zaman farklı yönerge blokları açmamız gerekir:

<%@ Page Language="VB" Debug="True" EnableViewState="False" %>
<%@ Imports Namespace="System.Data" %>
<%@ Register Tagprefix="YazilimFirmam" Tagname="MenuKontrolum" Src="Menu.ascx" %>

Konudan sapmamak için örneklediğimiz yönergelerin detaylı anlatımlarına girmiyoruz. Farklı bir makalede, yönergeleri tek tek ele alacağız.


Yönergelerin yazım stilini kavradıktan sonra aklımıza yönergeleri sayfa içerisinde nereye yazacağımız sorusu gelebilir. ASP.NET, bu konuda bizi kısıtlamıyor. Yönergeler, sayfanın istenilen noktasında yazılabilir. Ama yerleşik yazım disiplini ve okunabilirlik açısından sayfaların en üstüne konması daha uygun.

Doğal olarak yönergelerin amacına göre çeşitli kurallar da mevcut. Mesela bir web formu içinde (.aspx) sadece tek Page yönergeniz olabilir. Aynı şekilde bir kullanıcı kontrolü (.ascx) içinde de sadece tek Control yönergesine izin var. Page direktifi web formuna özgü, Control direktifi kullanıcı kontrolüne özgüdür. Bundan dolayı bir .aspx içinde Control direktifini kullanamazsınız. Bunun yanında, yönerge içerisinde bir niteliğe verdiğiniz değer de o niteliğe uygun olmalıdır. Mesela Page yönergesinde, true veya false değer kabul eden Debug niteliğine bu ikisinden farklı bir değer verirseniz, derleme aşamasında hata alırsınız. vs.. Bu gibi detayları, yönergeleri işleyeceğimiz makalemizde anlatacağız.

Yönergeler, ASP.NET sayfalarında artık önemli bir yere sahip. ASP.NET derleyicisi, işinde yönergelere öncelik veriyor. Biz de yönergeleri öğrenmeye öncelik versek iyi olmaz mı?

Sunucu Taraflı Kapsamalar

Bu da eski bir yönerge aslında. Çok öncelerden.. "shtml" den gelen, farklı dosyaları dahil etme yönergesinden bahsediyoruz:


veya..


Bu ifadelerle, sunucu üzerinde bulunan başka bir düz yazı dosyasını sayfamıza dahil edebiliyoruz. Böylece çok noktada kullanmamız gereken kodları bir kere yazmış oluyoruz. Bu ifadeler, sayfadaki sunucu taraflı kodlardan daha önce işletiliyorlar. Dosyanın yolunu ister fiziksel olarak, ister sanal olarak belirtebiliyoruz. Her iki yöntemde de, belirtilen patika (path), kesin (absolute, örnek: c:menu.inc) veya içinde bulunan sayfaya göre bağıl (relative, örnek: ../../menu.inc) olabilir.

ASP'yi bu kapsama ifadeleri olmadan düşünemiyoruz. Ama artık nankörlük etmenin zamanı geldi de geçiyor bile. Çünkü ASP.NET, bu kapsama bloklarının yerine bize daha güçlü ve yetenekli alternatifler sunuyor. En basitinden her sayfada kullanacağımız site içi dolaşım menüsünü, bir kullanıcı kontrolü biçiminde oluşturup, bir çok ek özellik verebiliriz. Kullanıcı kontrollerini .ascx uzantılı dosyalarda saklıyoruz ve istediğimiz .aspx sayfasında, veya yine bir .ascx sayfasında kullanabiliyoruz. Çok sık kullanacağımız fonksiyonları topladığımız bir kütüphaneyi de, Imports yönergesiyle kullanabilme olanağımız var..

Neticede, ASP.NET, kapsama ifadelerinin pabucunu dama atmış ve sunduğu alternatiflerle çok modern ve profesyonel bir anlayış getirmiş. Biz yine de, kapsama ifadelerinin imlâsını bir hatırlayalım dedik.

Bitirirken...

Kanımca yazım kurallarını iyi özümseyen bir programcı, derleme aşamasında alacağı hataları en aza indirecektir. Kaldı ki, ASP.NET, çalışma prensibinden dolayı, programcıyı daha titiz ve düzenli kod yazımına doğru zorlamaktadır. Bu konuyu ciddiye aldığımızdan, seriye devam edeceğiz.

İyi çalışmalar.

,

Arşivden

Yorum bulunmuyor.

Yorum yazabilirsiniz


* [b], [i] ve [quote] serbest