Eyl

11

Bileşen Niteliklerine Controllerdan Erişim Örnek Style Kullanımı

By Hüseyin Bora

Niteliklere erişiken nesne adı -> nitelik adı şeklindendir. örneğim bir textbox birde button bileşenimiz olsun buttona tıklandığında textbox un rengini değiştirelim.  faces view tanımlaması aşağıdaki gibidir.

<faces>
<@import taglib="phpf.ui.*" prefix="face"/>
<face:textbox name ="yazi"  text ="Merhaba"/>
<face:textbox name ="button"  text ="Rengi Değiştir"/>
</faces>
class Controller extends Facete{
function Controller(){
parent::FacesController();
$this->render("view.html");
}
function buttonClicked($evt){
$this->yazi->setProperty("style", "background:blue");
}
}

Örneğimizde textbox bileşenin style niteliğine background:blue değerini artardık ve rengini değiştirmiş olduk.

Bir niteliği değiştirmek istediğinizde

$this->bilesenadi->nitelik=”deger”;

Ya da

$this->yazi->setProperty(”nitelik”, “değer”);

İki kullanımda gecerlidir.

Şimdi örneğimizi biraz daha geliştirelim bir combobox bileşeninde renkler olsun ve seçilen rengi ajax kullanarak textbox nesnesine uygulayalım.

Örneğimiz için view aşağıdaki şekildedir.

<faces>
<@import prefix="face" taglib="phpf.ui.*"/>
<face:textbox name ="textbox"  text ="Merhaba"/>
Rengi değiştir
<face:combobox name="colors"
bind="array(Aqua,Blue,AliceBlue,Beige,Black,Brown ,Navy,Pink,Red,Orange,Yellow ,White,Green)"
onchange="ajaxevent">
</face:combobox>
</faces>
import("phpf.controllers.facete");
class Style extends Facete
{
function Style()
{
parent::Facete();
$this->render("view.phpf");
}

protected function colorsChanged($evt)
{
$color = $this->colors->getSelected();
$this->textbox->setProperty("style","background:$color");
$this->AjaxResponse();
}
}

İşte Uygulamamızın Çalışır hali.

Eyl

9

Faces Bileşenleri

By Hüseyin Bora

PHP Faces içerisinde pek çok bileşen bulunmaktadır. kendi bileşenlerinizide geliştirebilirsiniz. bu konuya daha sonra değinicem  ui dizini  altındaki bileşenleri inceleye bilirsiniz.

PHP Faces  içerisinde DOJO Java Script frameworkunu barındırmaktadır. Dojo hakkında detaylı bilgiyi http://www.dojotoolkit.org/ adresinde bulabilirsiniz.

Şuan için PHP Faces ile birlikte ui ve widget adı altında 2 adet bileşen kütüphanesi bulunmaktadır. ui altında standart HTML form bileşenleri ui.widget altında DOJO dijit javascript tabanlı bileşenler bulunmaktadır.

Bileşenler için kullanım  örneklerini http://www.webmahsulleri.com/faces/doc/index.phpf adresindeki HTML UI ve Widgets UI başlıkları altında  bulabilirsiniz.

UI HTML Bileşenleri

  • Button
  • TextBox
  • Label
  • ComBox
  • CheckBox
  • Image
  • Hidden
  • Radio
  • Form
  • Grid
  • TextArea

UI Widget DOJO  Bileşenleri

  • DjButton
  • DjTextBox
  • CurrencyText
  • ValidationText
  • NumberTextbox
  • NumberSpinner
  • DJComboBox
  • DateBox
  • DJTextArea
  • DJCheckBox
  • RadioGroup
  • Tab
  • TabPane
  • Accordion
  • AccordionPane
  • Editor