Html Kütüphanesi
"ZN Framework'te Masterpage kütüphanesi ile çok basit bir şekilde web iskeleti oluşturabilirsiniz."
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
# Ö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.
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>
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'): >})
>})
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.
Bu güncellemede ':void' kullanımı ile a[hreft="javascript:void(0)"] kullanım özelliği eklenmiştir.
@Html::anchor(':void', 'Edit')
# 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')
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')
Submit olarak kullanılacak olması durumunda;
@Html::type('submit')->button('Send')
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')
# 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'])
İç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
# 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')
# 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')
# 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')
# 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ı
@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ı 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!
# 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!
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.