PHP Faces in view yapısını ilk başlarda tuaf gelsede buna alışırsınız
Görünüm’ü tamamen diğer kodlardan ayırabilirsiniz Faces View ler XML notasyonuna benzer.
Faces Render ına tabi olacak bölümler <faces> </faces> etiketleri arasına yazılır.<faces> </faces> etiketleri arasında HTML ,CSS,XML PHP vb.. dilleride kullanabilirsiniz.
Faces Etiketleri üç e ayrılır bunlar
- Renderer direktif etiketleri
- Static etiketler
- Bileşen Etiketleri
Renderer direktiflerinin tamamı @ işareti ile başlar
<@import prefix=”f” taglib=”phpf.ui.*”/>
bu direktif renderer a phpf.ui içerisindeki tüm sınıfları dahil etmesini söyler ve f isim uzayı ile ilişkilendirir.
<@import prefix=”c” taglib=”phpf.core” type=”static”/>
bu direktif renderer a phpf.core sınıfını dahil etmesini söyler ve c isim uzayı ile ilişkilendirir. static ibaresi bu sınıftaki metotların static olarak çağrılması gerektiğini bildirir.
Örnek
<faces> <@import prefix="c" taglib="phpf.core" type="static"/> <c:out value="Merhaba Faces"/> </faces>
Başka bir örnek
<faces> <@import prefix="c" taglib="phpf.core" type="static"/> <@import prefix="f" taglib="phpf.ui.*"/> <c:if test="1<2"> <c:out value =" bir ikiden kucuktur"/> </c:if> <f:button name="button" text="tıkla"/> </faces>
Nitelik tanımlamlarında tek tırnak ‘ ‘ yada boşluk kullanmayın çift tırnak ” ” karekterlerini kullanın
örnekler
<c:out value=deneme/> yanlış hata alırsınız <c:out value='deneme'/> yanlış hata alırsınız <c:out value="doğru"/>çalışır
Bu yazı tamamsa şimdi direktif tanımlarına bakmanız iyi olur.
Öncelikle
<br class=”spacer_” />
applications/uygulamaadi/controller/
applications/uygulamaadi/controller/test.php
Dizinine gelin burada test.php gibi bir isimde Controller dosyamızı oluşturalım.
<?php import("phpf.controllers.facescontroller"); class Test extends FacesController { function Test(){ parent::FacesControler(); echo "Test kontrolcüsü başlatıldı"; } } ?>
şimdi tarayıcımızda adres satırına localde çalıştığınızı farz ederek
http://localhost/phpFacesdizini/ugulamaadi/test
yazıyoruz eğer herşey yolunda gitmişse ” Test kontrolcüsü başlatıldı” mesajını alıyoruz.
şimdi
applications/uygulamaadi/views/
Dizinine gelin burada test.phpf gibi bir isimde basit bir view oluşturalım.
faces kodlarımızı <strong><faces> </faces> </strong>arasına yerleştiriyoriyoruz FDL anlatırken bunlara derinlemesine giriceğiz.
<faces> <b>#{$this.mesaj}</b> </faces>
controller sınıfımızı da aşağıdaki gibi düzenleyelim
<?php import("phpf.controllers.facescontroller"); class Test extends FacesController { protected $mesaj="Test kontrolcüsü başlatıldı"; function Test(){ parent::FacesControler(); $this->render("test.phpf"); } } ?>
yeniden
http://localhost/phpFacesdizini/ugulamaadi/test
yazıyoruz eğer herşey yolunda gitmişse ” Test kontrolcüsü başlatıldı” mesajını alıyoruz.
<strong>Faces Controller</strong><strong>ın Üye Metoları </strong>
<ul>
<li><strong>render</strong> ( Bu metor renderer a bir faces dosyasını yorumlamasını söyler)</li>
<li><strong>append</strong> (view a bir parametre gönderir)</li>
<li><strong>load</strong><strong> </strong>(parametre olarak verilen string ifadenden sınıf adından yeni bir nesne çevirir)</li>
<li><strong>interrupt</strong> (render işlemini keser)</li>
<li><strong>addListener</strong>($name,FacesListener $listener)</li>
<li><strong>addActionListener</strong><strong> </strong>( bir listener arayuzunu(interface) ActionEvent olayı için kayıteder parametresi ActionListener dır<a href=”http://code.google.com/p/php-faces/w/edit/ActionListener”></a>)</li>
<li><strong>addMouseListener</strong><strong> </strong>(bir listener arayuzunu mouse events olayları içinkayıt eder Parametresi MouseListener<a href=”http://code.google.com/p/php-faces/w/edit/MouseListener”></a>)</li>
<li><strong>addValueChangedListener</strong>(bir listener arayuzunu ValueChangedEvent olayı için kayıt eder<a href=”http://code.google.com/p/php-faces/w/edit/ValueChangedEvent”></a>. Parametresi ValueChangedListener)</li>
<li><strong>getComponents</strong> (contoller ile ilişkili tüm bileşenleri verir)</li>
</ul>
· <strong>AjaxResponse</strong><strong><a href=”http://code.google.com/p/php-faces/w/edit/AjaxResponse”>?</a></strong> (render işlemini askıya alır ve istemci tarafına json verisi gönderir)













