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
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.
Evet her şey hazırsa yani kurulum işelmleri başarı ile sonuclamışsanız ilk Faces denememizi yapabiliriz
Ö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)