«

»

Eyl
09

Renderer Directives 4- patternler

pattern kavramı programlamada işaretleme dilleri açısından bir yeniliktir. ve bu yöntem ilk defa PHP faces ile tanıtılmaktadır.

patternler özetle bir veri tanımlaması biçimde bir şablon oluşturur ve bu tanımın uygulanmasını sağlar
daha anlaşılır bir şekilde . farklı bir kopyalama ve yapıştırma işlemi görmektedir. patternler sayesinde programcı birirlerine benzeyen etiket (tag) bloklarını tekrarından kurtulur.

PHP faces içerisinde 2 çeşit pattern vardır bunlar:
@pattern
@htmlpattern

@pattern PHP Faces bileşenleri içindir ve uygulanırken @ui direktif etiketi ile kullanılır.

@htmlpattern içerisindeki metni biraz farklı bir biçimde kopyalar içerisine HTML, XML vb yerleştirilebilir. @htmlpattern , @html direktif etiketi ile kullanılır.

@pattern

@pattern direktif etiketinin kendisine haz üç  niteli vardır. bu nitelikten sonra gelecek nitelikler genişletilen faces bileşenine has niteliklerdir.

name :niteliği tanımlanan pattern (şablonun) ismidir.

prefix :niteliği  genişletilcek bileşenin hangi isim uzayında bulunduğunu bildirir

extends : niteliği  genişletilecek faces bileşeninin adıdır.

Örnek

<@import prefix="f" taglib="phpf.ui.button"/>
<@pattern name="mybutton"
prefix="f"
extends="button"
value="her hangi bir şey"/>

yukarıdaki örnekte  button bileşeninden mybutton isminde yeni bir pattern tanımlanmış.

@ui

direktif etikeki @pattern ile tanımlanan bir şablonu uygular. İki niteliği vardır.

name : yeni oluşturulacak olan bileşenin adıdır.

pattern: kullanılacak olan pattern tanımlamasının adıdır.

Örnek patternnin uygulanması

<@ui name="mybutton1" pattern="mybutton"/>
<@ui name="mybutton2" pattern="mybutton"/>
<@ui name="mybutton3" pattern="mybutton"  value="farklı bir yazı"/>
<@ui name="mybutton4" pattern="mybutton" style="color:navy;font-weight:bold;" >

yukarıdaki 1. ve 2. satırlarda mybutton patterninden 2 örnek üretilmiş  üçüncü satırta da mybutton patterninden yeni bir örnek üretilip value niteliğine “farklı bir yazı atanmış 4. satırda da mybutton pattern ninden yeni bir örnek üretilip style niteliğne  color:navy;font-weight:bold; değeri atanmıştır.

sonucta html çıktısı aşağıdaki gibidir.

<input type="button" name = "mybutton1"  id="mybutton1" value="her hangi bir şey"/>
<input type="button" name = "mybutton2"  id="mybutton2" value="her hangi bir şey"/>
<input type="button" name = "mybutton3"  id="mybutton3" value="farklı bir yazı"/>
<input type="button" name = "mybutton4"  id="mybutton4" value="her hangi bir şey" style="color:navy;font-weight:bold;"/>

@htmlpattern

yukarıda belirtiğim gibi htmlpattern içine gelen şablon metini kopyalar ve @html direktifi ile şablon uygulanır.

name niteliği oluşturulan patternin ismidir. @html direkttif etiketinin  pattern niteliğine burada belirtilen isim yazılır.

Örnek @htmlpattern tanımlaması

<@htmlpattern name="html">
<div style="color:red;font-weight:bold;" > Senin Yazın  </div>
</@htmlpattern>

Örnek @html ile   htmlpatternlerin uygulanması

<@html pattern="html"/>

Yukarıdaki örneğin çıktısı şu şekilde olur.

<div style="color:red;font-weight:bold;" > Senin Yazın  </div>

paterrnleri istediğiniz sayıda kullana bilirsiniz

Örnek @html ile   htmlpatternlerin uygulanması

<@html pattern="html"/>
<@html pattern="html"/>
<@html pattern="html"/>

Yukarıdaki örneğin çıktısı şu şekilde olur.

<div style="color:red;font-weight:bold;" > Senin Yazın  </div>
<div style="color:red;font-weight:bold;" > Senin Yazın  </div>
<div style="color:red;font-weight:bold;" > Senin Yazın  </div>

html patternler ile birlikte php faces ifadeleride kullanılabilir
php faces ifadeleri #{ ve } aralığına yazılır.

Örnek başka bir htmlpattern tanımlaması

<@htmlpattern name="html2">
<div style="color:red;font-weight:bold;">test htmlpattern  #{$i}</div>
<!--@htmlpattern-->

Yukarıdaki pattern nin uygulanması

<@html pattern="html2"/>

Örneğin çıktısı

<div style="color:red;font-weight:bold;">test htmlpattern  1</div>
<div style="color:red;font-weight:bold;">test htmlpattern  2</div>
<div style="color:red;font-weight:bold;">test htmlpattern  3</div>
<div style="color:red;font-weight:bold;">test htmlpattern  4</div>
<div style="color:red;font-weight:bold;">test htmlpattern  5</div>
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Bir Cevap Yazın

E-Posta adresiniz yayınlanmayacaktır.


*

Bu HTML etiket ve tanımlayıcılarını kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>