KKUT Docs

Html Kütüphanesi

HTML elementlerini sınıf formuna getirerek gerek görünüm gerekse de kontrolcü içerisinde kullandırmayı amaçlar. PHP ağırlıklı kodların bulunduğu bir dosyada HTML kodlarının kullanılması gere…

This article is currently available in Turkish. Its English translation is being prepared.

HTML elementlerini sınıf formuna getirerek gerek görünüm gerekse de kontrolcü içerisinde kullandırmayı amaçlar. PHP ağırlıklı kodların bulunduğu bir dosyada HTML kodlarının kullanılması gerektiği durumlarda oldukça kullanışlıdır. Nesne zincirlemesi ile istenilen özellik değer çiftleri kolaylıkla eklenebilmektedir. Aryıca Validation:: ve Permission:: kütüphaneleri ile entegreli çalışır.

Kurulum

Bu bileşen KUT ile birlikte gelir; ayrıca kurulum gerektirmez.

↓ Paket KUT ile birlikte gelir.

Yöntemler

Html::anchor(string $url, string $value = [[NULL]], array $attr = [[ [] ]]) : string
Html::button(string $value, array $attr = []) : string
Html::image(string $src, int $width = [[NULL]], int $height = [[NULL]], array $attr = [[ [] ]]) : string
Html::heading(mixed $content, int $type = [[3]], array $attr = [[ [] ]]) : string
Html::font(mixed $content, string $size = [[NULL]], string $color = [[NULL]], string $face = [[NULL]]) : string
Html::parag(mixed $content, array $array = [[ [] ]]) : string
Html::bold(mixed $content, array $array = [[ [] ]]) : string
Html::strong(mixed $content, array $array = [[ [] ]]) : string
Html::italic(mixed $content, array $array = [[ [] ]]) : string
Html::underLine(mixed $content, array $array = [[ [] ]]) : string
Html::overLine(mixed $content, array $array = [[ [] ]]) : string
Html::underText(mixed $content, array $array = [[ [] ]]) : string
Html::overText(mixed $content, array $array = [[ [] ]]) : string
Html::mailTo(string $mail, string $value = [[NULL]], array $attr = [[ [] ]]) : string
Html::table(void) : object
Html::ul(callable $list, array $attributes = []) : string
Html::label(string $for, mixed $content = NULL, string $form = [[NULL]], array $attr = [[ [] ]]) : string
Html::meta(mixed $name, mixed $content = [[NULL]]) : string
Html::space(int $count = [[4]]) : string
Html::br(int $count = [[1]]) : string
Html::audio(string $src, mixed $content = [[NULL]], array $attr = [[ [] ]]) : string
Html::video(string $src, mixed $content = [[NULL]], array $attr = [[ [] ]]) : string
Html::embed(string $src, array $attr = [[ [] ]]) : string
Html::canvas(string $src, array $attr = [[ [] ]]) : string
Html::aside(mixed $content) : string
Html::article(mixed $content) : string
Html::footer(mixed $content) : string
Html::header(mixed $content) : string
Html::nav(mixed $content) : string
Html::section(mixed $content) : string
Html::hgroup(mixed $content) : string
Html::command(mixed $content, array $attributes = [[ [] ]]) : string
Html::dataList(mixed $content, array $attributes = [[ [] ]]) : string
Html::details(mixed $content, array $attributes = [[ [] ]]) : string
Html::dialog(mixed $content, array $attributes = [[ [] ]]) : string
Html::figCaption(mixed $content, array $attributes = [[ [] ]]) : string
Html::figure(mixed $content, array $attributes = [[ [] ]]) : string
Html::keygen(array $attributes = [[ [] ]]) : string
Html::mark(mixed $content, array $attributes = [[ [] ]]) : string
Html::meter(mixed $content, array $attributes = [[ [] ]]) : string
Html::time(mixed $content, array $attributes = [[ [] ]]) : string
Html::summary(mixed $content, array $attributes = [[ [] ]]) : string
Html::output(mixed $content, array $attributes = [[ [] ]]) : string
Html::progress(mixed $content, array $attributes = [[ [] ]]) : string

# Özellikler

Tüm HTML özellikleri yöntem adı olarak kullanılarak eklenebilir.

Html::alt('example')->style('red:color')-> - - -

Yukarıda kullanılan alt(), style() gibi yöntemler input nesnesinin özellik değer çiftini oluşturan yapıları belirlemek için kullanılır. Bu kullanım tüm html elementleri için ortaktır. Her Html:: nesnesi kendi parametreleri dışında bu opsiyonel yöntemler ile de parametre kullanımlarını sağlayabilir. Eğer özellik birden fazla kelime ve aralarında tire(-) içeren bir yapıda ise bu özellik yöntem olarak camelCase yani exampleElement() formunda kullanılır.

Tire Ayraçlı Kullanımlar

Eğer form özellikleriniz data-target gibi - ile ayrılan bir özellikse camelCase standartında yazmanız gerekir.

@Html::dataTarget('.myModal')->dataToggle('modal')->button('Example')
[|button data-target=".myModal" data-toggle="modal"|]Example[|/button|]
Çağrılabilir Yöntem Kullanımı

Belirtilen sürüm itibari ile aşağıda yer alan tüm Html nesnelerinin $content parametrelerine çağrılabilir yöntem uygulanabilir hale getirildi.

@Html::div
({[|
    @Html::strong({[| @Html::italic('KUT Framework'): |]})
|]})
<div><strong><em>KUT Framework--em></strong></div>
Farklı Tür Değer Gönderimi KUT 1.0’da desteklenir

Bu güncellemede aşağıdaki düzenlemeler yapılmıştır.

Html Entity

Gönderilen veriler artık htmlentities() ile dönüştürülüyor.

boolean Gönderim

Önceden değer olarak true veya false göndermek için bu değerleri string vermek gerekiyordu. Artık gerçek boolean gönderiminde otomatik olarak string dönüşüm sağlanıyor.

@Html::abc(true)->bold('Example') # [|b abc="true"|]Example[|/b|]

array veya object Gönderim

Önceden array veya object gönderiminde veri scalar olmaması nedeni ile hata üretiyordu. Artık bu veriler JSON formatına dönüştürülerek eklenmekte. Ancak tırnaklar htmlentities() ile dönüştürülüyor. Dolayısı ile verinin daha sonra kullanılabilir olması için html_entity_decode() ile dönüştürülmesi gerekir.

@Html::abc(["a" => 1])->bold('Example') # [|b abc="{quotbquot:1}"|]Example[|/b|]

 

# Anchor

HTML [a] etiketinin kullanımıdır. Link oluşturmak için kullanılır.

Parametreler

string $url URL
string $value Görünen isim. Bu parametre boş geçilirse değer olarak 1. parametre değerini alır.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::anchor('https://example.xxx', 'Example')
@Html::anchor('https://example.xxx')

Çapa [#] kullanmak için;

@Html::anchor('#comment', 'Yoruma Git')

gibi kullanılır.

Void Kullanımı KUT 1.0’da desteklenir

Bu güncellemede ':void' kullanımı ile a[hreft="javascript:void(0)"] kullanım özelliği eklenmiştir. 

@Html::anchor(':void', 'Edit')
<a href="javascript:void(0);">Edit</a>

# Button

HTML [button] [/button] etiketinin kullanımıdır.

Parametreler

string $value Görünen isim. Bu parametre boş geçilirse değer olarak 1. parametre değerini alır.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::button('Send')
Varsayılan Tip KUT 1.0’da desteklenir

Bu güncellemede bazı tarayıcılarda [button] nesnesinin type özelliği submit belirtilmediği halde submit gibi tetiklenmesinden dolayı type belirtilmediği sürece ön tanımlı değeri input[type="button"] olarak düzenlenmiştir.

@Html::onclick('ajaxFunc()')->button('Send')
<button onclick="ajaxFunc()" type="button">Send</button>

Submit olarak kullanılacak olması durumunda;

@Html::type('submit')->button('Send')
<button type="submit">Send</button>

gibi kullanılır.

# Image

HTML [img] etiketinin kullanımıdır. Resim gösterimi oluşturmak için kullanılır.

Parametreler

string $url URL.
int $width Genişlik.
int $height Yükseklik.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::image('image/example.jpg', 200, 200)

# Heading

HTML [hx]  etiketinin kullanımıdır. Bir metni başlık bilgisi olarak düzenlemek için kullanılır.

Parametreler

mixed $content İçerik.
int $type = 3 Başlık boyut türü. 1 - 6
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::heading('Data')
@Html::heading('Data', 1)
@Html::heading('Data', 2, ['id' => 'example'])

Data

Data

Data

# Font

HTML [font]  etiketinin kullanımıdır. Metnin font özelliklerini biçimlendirmek için kullanılır.

Parametreler

mixed $content İçerik.
int $size = NULL Boyut.
string $color = NULL Renk.
string $face = NULL Font.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::font('Data', 9, 'red', 'tahoma')
Data

# Parag

HTML [p] etiketinin kullanımıdır. Paragraf başı yapmak için kullanılır.

Parametreler

mixed $content İçerik.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::parag('Metin', ['style' => 'color:red'])
Data
Çağrılabilir Yöntem Kullanımı

İçerikleri string veri türü yerine çağrılabilir yöntem ile de oluşturabilirsiniz.

@Html::parag
({[|
    @Html::bold('KUT Framework')
|]})

# Bold / Strong

HTML [bold] etiketinin kullanımıdır. Yazıyı koyu yazmak için kullanılır.

Parametreler

mixed $content İçerik.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::bold('Data')
@Html::strong('Data')
Data
Data

 

# Italic

HTML [i]  etiketinin kullanımıdır. Eğik yazı yazmak için kullanılır.

Parametreler

mixed $content İçerik.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::italic('Data')
Data

# UnderLine

HTML [u]  etiketinin kullanımıdır. Altı çizgili yazmak için kullanılır.

Parametreler

mixed $content İçerik.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::underline('Data')
Data

# OverLine

HTML [strike]  etiketinin kullanımıdır. Ortası çizili yazmak için kullanılır

Parametreler

mixed $content İçerik.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::overline('Data')
Data

# UnderText

HTML [sub]  etiketinin kullanımıdır. Tabana yazı yazmak için kullanılır.

Parametreler

mixed $content İçerik.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

{| '10' . Html::undertext('2') |}

# OverText

HTML [sup] etiketinin kullanımıdır. Üste yazı yazmak için kullanılır.

Parametreler

mixed $content İçerik.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

{| '10' . Html::overtext('2') |}

# MailTo

HTML [a:mailto] etiketinin kullanımıdır. Link oluşturmak için kullanılır.

Parametreler

string $url URL
string $value Görünen isim. Bu parametre boş geçilirse değer olarak 1. parametre değerini alır.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::mailTo('robot@kutframework.com', 'Robot')
@Html::mailTo('robot@kutframework.com')

# Table

KUT 1.0’da desteklenir sürümünden önce Table sınıfı ile oluşturulan tablo artık Html kütüphanesi ile yapılabilmektedir.

Parametreler

void
return object

Opsiyonel Yöntemler

this attr(array $attributes)
this cell(int $spacing, int $padding)
this border(int $border, string $color = NULL)
this size(int $width, int $height)
this style(array $attributes)

Ve diğer tablo özellikleri.

Kullanımı

echo Html::table()
         ->border(1)
         ->borderColor('red')
         ->create
         (
             [1, 2, 3, 4],
             ['a', 'b' => ['colspan' => 3]]
         );
1 2 3 4
a b

# Ul / Ol

Ul ve Ol listesi oluşturmak için kullanılır.

Parametreler

callable $list Liste içeriği oluşturmak gönderilen geriçağrım işlevi.
array $attributes = [] Liste nesnesine özellik eklemek için kullanılır.
return string

Kullanımı

 Dosya: Views/Home/main.wizard.php
@Html::class('example')->ul(function($list){
    
    echo $list->li('Value1');
    echo $list->li('Value2');
})

# Label

HTML [label] etiketinin kullanımıdır.

Parametreler

string $for Hedef nesnenin ID bilgisi.
string | Callable $content = NULL İçerik.
string $form = NULL Form ID bilgisi.
array $attributes = NULL Özellik değer çiftleri.
return string

Kullanımı

@Html::label('checkBoxId', 'Do you like peas?')
@Form::id('checkBoxId')->checkbox('peas')

İstenirse aşağıdaki gibi de kullanılabilir.

@Html::label('', 
{[|
    Do you like peas?
    @Form::checkbox('peas')
|]})

# Meta

HTML [meta] etiketinin kullanımıdır. Meta tagları oluşturmak için kullanılır. 1. parametre string veya array türde veri içerebilir. Çoklu meta tagı kullanımı yapılacaksa 1. parametre dizi türünden kullanılır.

Parametreler

mixed $type = 'name' name veya http değerleridir.
array $attributes = NULL Özellik değer çiftleri.
return string

Örnekler

@Html::meta('name:author', 'Ozan UYKUN')
@Html::meta('http:refresh', 5)
Çoklu Meta Kullanımı

Çoklu meta kullanımı için ise aşağıdaki gibi kullanılır.

@Html::meta
([
    'http:refresh' => 5,
    'name:author'  => 'Ozan UYKUN',
    'description'  => 'Meta Example'
])

Anahtar ifadelere, name: veya http: ön eki belirtilmez ise name: ön eki varmış gibi kabul edilir.

# Space 

Belirli sayıda boşluk (nbsp) bırakmak için kullanılır.

Parametreler

int $count = 4 Boşluk sayısı.
return string

Kullanımı

Hello{| Html::space(10) |}brother!
Hello          brother!

# Br

Belirli sayıda altsatıra boşluk [br] bırakmak için kullanılır.

Parametreler

int $count = 1 Boşluk sayısı.
return string

Kullanımı

Hello{| Html::br(3) |}brother!
Hello


brother!

# Audio

Ses dosyası oynamak için kullanılır.

Parametreler

string $src = NULL Kaynak.
string | Callable $content = NULL İçerik.
array $attributes = [] Özellik ve değer çiftleri.
return string

Kullanımı

@Html::controls()->audio(FILES_DIR . 'music.mp3')

# Video

Görüntü dosyası oynamak için kullanılır.

Parametreler

string $src = NULL Kaynak.
string | Callable $content = NULL İçerik.
array $attributes = [] Özellik ve değer çiftleri.
return string

Kullanımı

@Html::controls()->video(FILES_DIR . 'video.mp3')

# Embed

Bu yöntem henüz belgelendirilmemiştir.

# Canvas

Bu yöntem henüz belgelendirilmemiştir.

# Aside

Bu yöntem henüz belgelendirilmemiştir.

# Article

Bu yöntem henüz belgelendirilmemiştir.

# Footer

Bu yöntem henüz belgelendirilmemiştir.

# Header

Bu yöntem henüz belgelendirilmemiştir.

# Nav

Bu yöntem henüz belgelendirilmemiştir.

# Section

Bu yöntem henüz belgelendirilmemiştir.

# Hgroup

Bu yöntem henüz belgelendirilmemiştir.

# Command

Bu öelşimdiye kadar ana ve en çok kullanılan tarayıcılardan hiçbiri tarafından desteklenmiyor.

# DataList

Bu yöntem henüz belgelendirilmemiştir.

# Details

Bu yöntem henüz belgelendirilmemiştir.

# Dialog

Bu yöntem henüz belgelendirilmemiştir.

# FigCaption

Bu yöntem henüz belgelendirilmemiştir.

# Figure

Bu yöntem henüz belgelendirilmemiştir.

# Keygen

Bu yöntem henüz belgelendirilmemiştir.

# Mark 

Bu yöntem henüz belgelendirilmemiştir.

# Meter

Bu yöntem henüz belgelendirilmemiştir.

# Time

Bu yöntem henüz belgelendirilmemiştir.

# Summary

Bu yöntem henüz belgelendirilmemiştir.

# Output 

Bu yöntem henüz belgelendirilmemiştir.

# Progress

Bu yöntem henüz belgelendirilmemiştir.

KUT Framework 1.0Katmanlı Uygulama Tabanı

Kur. Uyarla. Türet.