Html Kütüphanesi


    × Bunları biliyor muydunuz?
"Veritabanından sorgu isteğini tamamlamak için kullanılan get() yöntemi yerine doğrudan tabloismi() biçiminde tanımlama yapabilirsiniz. Örnek: DB::users();"


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


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-hypertext

 

 

# 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 $arr = []) : string
Html::bold(mixed $content, array $arr = []) : string
Html::strong(mixed $content, array $arr = []) : string
Html::italic(mixed $content, array $arr = []) : string
Html::underLine(mixed $content, array $arr = []) : string
Html::overLine(mixed $content, array $arr = []) : string
Html::underText(mixed $content, array $arr = []) : string
Html::overText(mixed $content, array $arr = []) : 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('ZN Framework'): >})
>})
<div><strong><em>ZN Framework--em></strong></div>
Farklı Tür Değer Gönderimi [6.1.0]

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ı [6.1.0]

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 [6.1.0]

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('ZN 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('[email protected]', 'Robot')
@Html::mailTo('[email protected]')

 

 

# Table


v.4.0.23 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.