Forum: Projeler turna RSS
formHelper.d
Kadir Can #1
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: formHelper.d
Merhaba arkadaşlar.
formhelper kısmına geçtim.Şu an için htmlhelper işimizi görecek seviyeye geldi.Aşağıda kodlar var.Yorumlarınızı bekliyorum.
module system.helper.formhelper;
import htmlhelper;
enum formMethod{ get, post };
enum inputType{ textField, passwordField, radioButton, checkBox, submitButton };    
 
class Input : XmlElement
{
    inputType _type;
    
    this(inputType type, string name)
    in
    {
    assert(name.length > 0);
    }
    body
    {
    super("input");
    _type = type;
    final switch( type) {
        case inputType.textField: setAttributes(["type":"text"]); break;
        case inputType.passwordField: setAttributes([ "type":"password"]); break;
        case inputType.radioButton: setAttributes(["type":"radio"]); break;
        case inputType.checkBox: setAttributes(["type":"checkbox"]); break;
        case inputType.submitButton: setAttributes(["type":"submit"]); break;
    }
    setAttributes(["name":name]);
    if( type == inputType.submitButton ) {
        setAttributes(["value":"submit"]);
    }
    }
    
    @property void setValue( string value )
    in
    {
    assert( (_type == inputType.radioButton) || (_type == inputType.checkBox) );
    }
    body
    {
    setAttributes(["value":value]);
    }
    
    @property void check( )
     in
    {
    assert( (_type == inputType.radioButton) || (_type == inputType.checkBox) );
    }
    body
    {
    setAttributes(["checked":"on"]);
    }
}
 
class HtmlForm : XmlElement
{
    this( formMethod method )
    {
        super("form");
        final switch( method )
        {
            case formMethod.get: setAttributes(["method":"GET"]); break;
            case formMethod.post: setAttributes(["method":"POST"]); break;
    }
    }
    
    @property setAction( string page )
    {
    setAttributes( ["action":page] );
    }
}
İlk fırsatta birim testleri ekleyeceğim.

Ayrıca aklıma bir şey takıldı.Sanırım html ile form oluşturabiliyoruz ama action ile gittiğimiz sayfada gelen veriyi okuyamıyorum.Ben bu noktada hep PHP veya ASP gibi başka bir dil kullanıldığını gördüm.Html ile bu veriyi okuyailir miyiz?

İyi günler.
Bu mesaj Kadir Can tarafından değiştirildi; zaman: 2012-06-25, 14:22.
canalpay (Moderatör) #2
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ayrıca aklıma bir şey takıldı.Sanırım html ile form oluşturabiliyoruz ama action ile gittiğimiz sayfada gelen veriyi okuyamıyorum.Ben bu noktada hep PHP veya ASP gibi başka bir dil kullanıldığını gördüm.Html ile bu veriyi okuyailir miyiz?

hayır okuyamayız. turna'da Şuradaki: https://github.com/acehreli/turna/blob/master/library/envV… get ve post işlevi ile gereken bilgileri alacağız.

Kodlar arası boşlukları yani kod görünümü düzenlersen çok güzel olacak. Üzerinde uğraştığımız güzel bir kodlama standartı vardı onu uygulayabilirsin: http://ddili.org/wiki/index.php?title=Kodlama_Standard%C4%B1

Onun haricinde bana herşey güzel gözüktü.
Kadir Can #3
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Kodlama standartlarına alışmak benim için çok zor oldu.Hala bazı hatalar yapıyorum.En kısa zamanda düzelteceğim.
canalpay (Moderatör) #4
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
 sanırım ide sende sorun yaratıyor. Başka bir ide dene.

Şuan pull request etmişsin ancak kod stilinde standart olmadığı için okuyamadım. Ayrıca işlevlere nasıl kullanıldığını anlatan bölümleri koyarsan bence çok iyi olur. Kısa süre sonra nasıl kullanıldığını hangi parametreler aldığını unutacağız. İşlevlerin nasıl kullanıldığını öğrenmek için kodlara yeniden bakmamalıyız. Heleki kullanıcılar hiç bakmamalı

Bu sıkıcı işlemler ileride gerçekten gerekli oluyormuş.

Birde modül isimlendirmlerini formhelper biçiminde değil de formHelper biçiminde yaparsan daha iyi olur bence. Birinci sözcükten sonraki sözcükleri büyük yazarsan sözcükleri birbirinden ayırmak modül adını okumak kolaylaşıyor. ona göre adını değiştirebilirsin. Hatta sonuna helper adınıda istersen koyma. helper dizininde form bulunursa biz bunun form helper olduğunu anlayabiliriz? seçim senin.
Kadir Can #5
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
IDE olarak Geany'ye geçtim.Umarım artık sorun olmaz.Standart olarak wiki'dekini kullanıyoruz, değil mi?Ben onlara uymaya çalışıyorum.
Yorumları yarın ilk iş olarak ekliyorum.
Modül ismini form olarak yaparsak daha kısa olur, çok iyi fikir.Yarın yeni kodlar yazmadan önce bunları düzenleyeceğim.
Uyarıların için teşekkür ederim.
acehreli (Moderatör) #6
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4533 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
canalpay:
modül isimlendirmlerini formhelper biçiminde değil de formHelper biçiminde yaparsan

Normalde modül isimleri dosya isimlerine bire bir karşılık geldikleri için ve dosya sistemleri küçük/büyük harf ayrımlarında standart davranmadıklarından bence modül isimleri hep küçük ve ASCII harfler içermeli.

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Forum: Projeler turna RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-12-11, 01:32:08 (UTC -08:00)