ORM Kütüphanesi ve Grid Table Kullanımı

0

Tarih : 09-11-2009 | Yazan : Hüseyin Bora | Kategori : FDL, Faces ORM, PHP, PHP Faces, PHP ORM

Grid bileşeni kendisine bind niteliği ile belirtilen Sınıf diziden bir HTML tablosu oluşturur. Oluşturulan tabloda hangi sutunların bulunacağı @item direktifi ile bildirilir. @item direktifinin key niteliğine Varlık sınıfının uye ismi title niteliğine ise sutunun başlığı yazılır.

Table

@item direktifi ile tabloya sınıf harici bilgi eklemek için input niteliği kullanılır.

<@item  input=”link” title=”Düzenle”  url=”testet.php?edit=$no”/>

Örneğin yukarıdaki @item direktifi ile düzenle başlıklı bir bağlantı oluşturulur ve bağlantı adresi url niteliği ile belirtilir.

Örnek Aşağıdaki gibi bir Varlık sınfımız olsun

<?php
/**
*  @Table(name = "urun")
*/
class Urun extends Entity
{
/**
* @Id
* @Column(name = "no")
*/

private $no;
/**
* @Column(name = "ad")
*/

private $ad;
/**
* @Column(name = "fiyat")
*/

private $fiyat;
/**
* @Column(name = "resim")
*/

private $resim;
function get($name) {

return $this->$name;
}
function set($name,$value) {
$this->$name = $value;
}
}
?>

Urunlerin listesini oluşturmak için aşağıdaki gibi bir kontrolcümüz olsun $list değişkenin içerisine veritabanından çektiğimiz bilgileri aktarıyoruz.

<?php

import("phpf.controllers.facete");

import("dbf.persistence");

import("entity.urun",true);
class UrunGrid extends Facete {

protected $list;

public function UrunGrid() {

parent::Facete();
$em = EntityManager::getInstance();
$query= $em->createQuery("Select u from urun u");
$query->execute();
$this->list = $q->getResultList();
$this->render("grid.html");
}
}
?>

Görünüm Dosyamız grid etiketinin bind niteliğine bind=”$this.list” eklememiz önemli

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<faces>
<@import prefix="f" taglib="phpf.ui.*"/>
<f:grid name="grid" height="30%" width="75%" bind="$this.list" border="1">
<@item   key="no"  title="Urun no" />
<@item   key="ad" title="Urun adı"/>
<@item   key="fiyat" title="fiyat"/>
<@item  input="img"  key="resim" title="Resim"/>
<@item  input="link" title="Detay"  url="testet.php?edit=$no"/>
</f:grid>
</faces>
</body>
</html>

            <@item   key="no"  title="Urun no" />
            <@item   key="ad" title="Urun adı"/>
            <@item   key="fiyat" title="fiyat"/>
            <@item  input="img"  key="resim" title="Resim"/>
            <@item  input="link" title="Detay"  url="testet.php?edit=$no"/>
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)

Facebook yorumları:

Yorum yaz