Html Kütüphanesi


    × Bunları biliyor muydunuz?
"URL::base() ve URL::site() kullanımları farklıdır. Özellikle varlık dosyalarına yol verilirken URL::base(), [a] etiketi ile köprü oluştururken URL::site() kullanılmalıdır."


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>
5.8.5.4 Güncellemesi

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.

Çağrılabilir Yöntem Kullanımı

@Html::div
({<
    @Html::strong({< @Html::italic('ZN Framework'): >})
>})
<div><strong><em>ZN Framework--em></strong></div>
Paket[6.40.3.8] Güncellemesi

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 (ZN >= 1.0.0)


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.

6.49.3 Güncellemesi

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 (ZN >= 1.0.0)


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')
6.49.3 Güncellemesi

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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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
Geriçağrım İşlevi (5.8.5.4)

İçerikleri string veri türü yerine geriçağrım işlevi ile de oluşturabilirsiniz.

@Html::parag
({<
    @Html::bold('ZN Framework')
>})

 

 

# Bold (ZN >= 1.0.0) / Strong (ZN >= 1.0.8)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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@znframework.com', 'Robot')
@Html::mailTo('robot@znframework.com')

 

 

# Table (ZN >= 4.0.23)


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 (ZN >= 4.0.23)


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 (ZN >= 4.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


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 (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Canvas (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Aside (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Article (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Footer (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Header (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Nav (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Section (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Hgroup (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Command (ZN >= 1.0.0)


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

 

 

# DataList (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Details (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Dialog (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# FigCaption (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Figure (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Keygen (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Mark (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Meter (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Time (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Summary (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Output (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.

 

 

# Progress (ZN >= 1.0.0)


Bu yöntem henüz belgelendirilmemiştir.