Html Kütüphanesi
"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
# Ö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.
Çağrılabilir Yöntem Kullanımı
@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 (ZN >= 1.0.0)
HTML [a] etiketinin kullanımıdır. Link oluşturmak için kullanılır.
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 |
@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 (ZN >= 1.0.0)
HTML [button] [/button] etiketinin kullanımıdır.
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 |
@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 (ZN >= 1.0.0)
HTML [img] etiketinin kullanımıdır. Resim gösterimi oluşturmak için kullanılır.
string | $url | URL. |
int | $width | Genişlik. |
int | $height | Yükseklik. |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
@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.
mixed | $content | İçerik. |
int | $type = 3 | Başlık boyut türü. 1 - 6 |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
@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.
mixed | $content | İçerik. |
int | $size = NULL | Boyut. |
string | $color = NULL | Renk. |
string | $face = NULL | Font. |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
@Html::font('Data', 9, 'red', 'tahoma')
# Parag (ZN >= 1.0.0)
HTML [p] etiketinin kullanımıdır. Paragraf başı yapmak için kullanılır.
mixed | $content | İçerik. |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
@Html::parag('Metin', ['style' => 'color:red'])
İç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.
mixed | $content | İçerik. |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
@Html::bold('Data')
@Html::strong('Data')
Data
# Italic (ZN >= 1.0.0)
HTML [i] etiketinin kullanımıdır. Eğik yazı yazmak için kullanılır.
mixed | $content | İçerik. |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
@Html::italic('Data')
# UnderLine (ZN >= 1.0.0)
HTML [u] etiketinin kullanımıdır. Altı çizgili yazmak için kullanılır.
mixed | $content | İçerik. |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
@Html::underline('Data')
# OverLine (ZN >= 1.0.0)
HTML [strike] etiketinin kullanımıdır. Ortası çizili yazmak için kullanılır
mixed | $content | İçerik. |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
@Html::overline('Data')
# UnderText (ZN >= 1.0.0)
HTML [sub] etiketinin kullanımıdır. Tabana yazı yazmak için kullanılır.
mixed | $content | İçerik. |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
{{ '10' . Html::undertext('2') }}
# OverText (ZN >= 1.0.0)
HTML [sup] etiketinin kullanımıdır. Üste yazı yazmak için kullanılır.
mixed | $content | İçerik. |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
{{ '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.
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 |
@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.
Void | ||
Return | object |
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.
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.
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 |
@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.
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 |
@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.
mixed | $type = 'name' | name veya http değerleridir. |
array | $attributes = NULL | Özellik değer çiftleri. |
Return | string |
@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 (ZN >= 1.0.0)
Belirli sayıda boşluk (nbsp) bırakmak için kullanılır.
int | $count = 4 | Boşluk sayısı. |
Return | string |
Hello{{ Html::space(10) }}brother!
# Br (ZN >= 1.0.0)
Belirli sayıda altsatıra boşluk [br] bırakmak için kullanılır.
int | $count = 1 | Boşluk sayısı. |
Return | string |
Hello{{ Html::br(3) }}brother!
brother!
# Audio (ZN >= 1.0.0)
Ses dosyası oynamak için kullanılır.
string | $src = NULL | Kaynak. |
string | Callable | $content = NULL | İçerik. |
array | $attributes = [] | Özellik ve değer çiftleri. |
Return | string |
@Html::controls()->audio(FILES_DIR . 'music.mp3')
# Video (ZN >= 1.0.0)
Görüntü dosyası oynamak için kullanılır.
string | $src = NULL | Kaynak. |
string | Callable | $content = NULL | İçerik. |
array | $attributes = [] | Özellik ve değer çiftleri. |
Return | string |
@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.