Kripto Metin

0

Tarih : 26-10-2009 | Yazan : Hüseyin Bora | Kategori : Mahsullerim

Kriptoloji (Şifre Bilimi)Anlamına gelmektedir kripto metinler genellikle üst düzey güvenlik gerektiren gizli haberleşme sistemlerinde kullanılır.Örneğin  II. Dünya Savaşı sırasında nazi Almanyası’nın güvenli haberleşme için kullandığı  Enigma makinesi  bir kripto cihazıdır .

Kirpto Metin bir şifreleme ve şifre çözme programıdır simetrik şifreleme ya da diğer bir tabirle gizli anahtar (secret-key) algoritmalrına benzer bir algoritma kullanılır.

İndir

Bu algoritma hem düz yazı dosyalarına hem de jpg,gif,doc,exe vb ikili dosyalara uygulanabilir. Bunun anlamı ise dosya şifrelemeden öte dosyadaki her bir karakterin kriptolaşmasıdır.

Nasıl Çalışır

Bu program kullanıcıdan bir anahtar değer alır (secret-key) ve anahtar değere göre saklı yazı mekanizması çalışır Şifrelenmiş metini çözmek isteyen alıcı tarafında bu anahtarı bilmesi gerekmektedir. Anahtar değer günlük hayatta kullandığınız parolalı girişler gibi düşünülse de aslında böyle değildir.

Günlük parolalarda örneğin bir web sitesini ziyaret ettiğiniz de üye girişi yapmanız için sizden istenen parola. Parolanızı bu siteye kayıt olurken girmiş ve site girdiğiniz parolayı farklı bir biçime çevirip site veri tabanına kaydetmiştir. Bu biçimde genellikle geri asıl veriye geri dönüşümü mümkün kılmamak esastır, bu alanda en çok rastlanan MD5 algoritmasıdır. Site ye giriş yapmak istediğiniz de parolanızı yazıp giriş butonuna tıklarsınız. Bu esna da arka tarafta çalışan program parolanızı tekrar biçimlendirir ve site veri tabanındaki önceden biçimlenmiş parola ile karşılaştırır her iki parolada aynı ise size giriş izni verilir.

Crypto Text ise girilen anahtarı hiçbir yere kaydetmez bu algoritmayı eski para kasaları gibi düşüne biliriz 5 sağa 7 sola 2 sağa gibi. Anahtar doğru girilmişse saklı veri çözülecektir.

Bu programı ne amaçla kullanabilirsiniz. Crypto Text ile metinlerinizi resim dosyalarını ses ve film dosyalarını aklınıza gelen tüm dijital verileri. Kripto edebilir. Kişilerle bir anahtarı paylaşıp sadece anahtarı bilenlerin anlayabildiği saklı yazılar ile haberleşebilirsiniz.

Nasıl Kullanacaksınız ?

Şifreli Yazı Oluşturmak

Şifreli yazılarınız için Kripto yazı sekmesinden orijinal text başlığı altına metininizi yazın ya da kopyalayın. Anahtar değerini girin ve Kripto & Yeniden Kripto butonuna basın.

Kripto text bölümünde metininizin saklanmış(şifrelenmiş) biçimini görürsünüz. Metini buradan kopyalayıp bir yere yapıştırmayın bu metin formatını bozabilir.

Bu format bir insanın okuyabileceği bir format değildir. Kaydet butonuna basarak şifreli metini kaydedin “txt” gibi bir dosya uzantısı verebilirsiniz.

Şifreli yazıyı çözmek

Kripto dosya sekmesine gelin ve dosya aç butonuna basın önceden şifrelenmiş metin dosyasını seçin. Şifreli dosyanın anahtar değerini girin ve Kripto & Yeniden Kripto butonuna basın. Çözülmüş metin Kripto bytes bölümünde görünebilir.

Şifrelenmiş dosyalar oluşturmak

Crypto text’in diğer özelliği de ikili (Binary) dosya biçimlerine de uygulanabilir olmasıdır.

Bura da anlaşılması gereken dosyaya uygulanan klasik bir şifre koruması değildir. Dosyanın herhangi bir yerine şifre kaydedilmez. Dosyanın içerdiği bilgi şifrelenir yani dosyanın kendisi bir şifredir.

Örnek olarak JPG formatındaki bir görüntü dosyasını ele alalım. Görüntü dosyası doğal haliyle dosyaya erişim sağlayan her kez tarafından görüntülenebilir. Ancak bu dosyanın görüntülenmemesini istiyor olabilirsiniz. İşte Kripto yazı size bu konuda yardımcı olabilir. Kripto yazı ile kriptolaştırdığınız dosyanın içeriği anlamsız hale gelir Örnek teki görüntü dosyasını açmak istediğinizde ya bir hata alırsınız ya da görüntü çözümlenemez.

Bir dosyayı şifrelemek

Kripto dosya sekmesine gelin ve dosya aç butonuna basın kriptolaştırmak istediğiniz dosyayı  seçin. Dosyanın anahtar değerini girin ve Kripto & Yeniden Kripto butonuna basın. Daha sonra üzerine yaz ya da farklı kaydet seçeneklerini kullanarak şifreli dosyayı kayıt edin.

Şifrelenmiş bir dosyayı çözmek.

Kripto dosya sekmesine gelin ve dosya aç butonuna basın çözmek istediğiniz dosyayı  seçin. Dosyanın anahtar değerini girin ve Kripto & Yeniden Kripto butonuna basın. Daha sonra üzerine yaz ya da farklı kaydet seçeneklerini kullanarak şifreli dosyayı kayıt edin. Artık dosya anlaşılabilir yani orijinal haline geri dönecektir.

Platform wink2

Compiler BCC

Dil C++

Geliştirici Hüseyin Bora ABACI

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)

Estate Office GYS(Gayrimenkül Yönetim Sistemi)

3

Tarih : 26-10-2009 | Yazan : Hüseyin Bora | Kategori : Mahsullerim

Bu yazılıma verilen destek kaldırılmıştır.

Platform : Windows JVM

Veritabanı : MySql

Yazılım Dili : Java ve PHP,JavaScript

Mimari : Çok Katmanlı

Raporlama : Jasper Reports

Kullanılan Araçlar ve Teknolojiler: Java,JPA,Java Media Framework,SOAP,Swing App Framework,Joomla,ezpdo,Googlemaps

Geliştirici : Hüseyin Bora ABACI

Gayrimenkul Yazılım İşlemleriniz İçin Toplu Çözüm.

Estate Office Nedir?

Estate Office İlişkisel Gayrimenkul Yönetim Sistemi (GYS) Gayrimenkul işi ile uğraşanlar için Java Teknolojisi ile geliştirilmiş bilgisayar programlarından oluşan araçlar takımıdır.

Estate Office kimler içindir?

Emlak müşavirliği, emlak büroları, gayrimenkul yatırım ortaklıkları, Müteahhitler, site yöneticileri VB. geniş bir kullanıcı grubuna hitap etmektedir.

Estate Office ile neler yapılabilir?

Estate Office içerisinde bir birleri ile bağlantılı birçok yazılım modülleri bulunmaktadır. Bu Modüller

Kategoriler ve Bölümler

Gayrimenkul Kayıtlarınızı Kategorize etmenize yardımcı olur. (Binalar, Yazlıklar, Satılık, Kiralık, Devre mülk vb)

Temsilciler

Firmanızda görevli personelli gayrimenkuller ile ilişkilendirebilirsiniz.

CRM Müşteri ilişkileri

Müşteri ve Tedarikçi bilgilerinizi kayıt altına alır Müşteri grupları oluşturabilir, gayrimenkuller ile müşterilerinizi ilişkilendirebilirsiniz, müşterilerinizle yaptığınız işleri görebilir müşteriden elde edilen gelirleri ve giderleri kayıt edebilirsiniz.

Yapı (Ev, İşyeri, Bina)   ve Arsa Arazi Kayıt Tüm emlak özelliklerini kayıt altına alabilir, dilediğiniz sayıda resim ve video ekleyebilir, görüntüleyebilir ve oynatabilirsiniz. Gayrimenkul ile dosyalarınızı ilişkilendirebilirsiniz.

Gayrimenkule yaptığınız harcamaları ve gayrimenkulden elde ettiğiniz gelirleri kayıt altına alabilirsiniz

İnternet Sihirbazı

İnternet sihirbazı Estate Office Web sitesi modülü kullanıcıları için hazırlanmıştır

Birkaç tıklama ile Estate Office deki verilerinizi web sitenizde yayınlar

Düzenler ve silebilirsiniz.

Web Sitesi

Estate Office bilgisayar programı kullanıcıları için geliştirilmiş web sitesidir.

Firmanız adına bir isim tahsis edilir www.firmanız.com gibi

Örnek Web Sitesi: www.bulutemlak.com.tr

Web Sitesi Özellikleri

Birkaç adımda Bilgisayar programınızdan verileriniz web sitenize aktarılır.

Yüzlerce tasarım şablonu arasından dilediğinizi seçin.

Video formatları ve Video oynatabilme yeteneği

Sınırsız resim yükleyebilme

Harita üzerinde sorgulama yapabilme

Harita üzerinde gayrimenkul konumu belirleme yeteneği.

Farklı uygulamalar yükleyebilme.

Gelir Gider Hesapları

Bir ve ya birden çok gayrimenkule yaptığınız gider ve gelirleri, müşteri ve tedarikçileriniz ile ilişkilendirebilir, yapılan ödeme ve gelirleri görebilir tarih aralılarındaki gelir gider hesaplarınızı sorgulayabilirsiniz.

Emlak Sorgulama

Kayıtlı gayrimenkullerinizi, Referans No, Kategori, adres, fiyat müşteri bilgileri, tarih aralığında sorgulama işlemlerini gerçekleştirebilirsiniz

Raporlar

  • Ekspertiz Raporları Daire
  • Ekspertiz Raporları İşyeri
  • Ekspertiz Raporları Arsa ve Arazi
  • Satılık ve Kiralık yer gösterme sözleşmesi
  • Alım satım komisyon protokolü
  • Kira Kontratı
  • Kiraya veren Sözleşmesi
  • Süreli Satılık Emlak
  • Süresiz Satılık Emlak
  • Liste Rapor
  • Kurum İçi Rapor
  • Kurum Dışı Rapor(Müşteriler İçin)
  • Gelir ve Gider Hesap Raporları
  • Müşteri Bilgileri Raporu

Tüm raporları Excel, Word, PDF, XML, HTML formatlarına dönüştürme yeteneği.

Programın Demosunu İndir

Kullanıcı : admin

Parola :123456

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)

PHP Faces PDF E-Kitap

0

Tarih : 25-10-2009 | Yazan : Hüseyin Bora | Kategori : Mahsullerim

PHP Faces Türkçe Ekitap PDF Formatındaki dosyayı  indir

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)

Varlık sınıfı oluşturucu (Entity Generator) programı

0

Tarih : 20-10-2009 | Yazan : Hüseyin Bora | Kategori : Faces ORM, PHP, PHP ORM

Varlık sınıflarını kendiniz yazmak zorunda değilsiniz siz sadece veritabanınızı tasarlayın bu program varlık sınıflarını sizin için oluşturacaktır. Ancak tablolar arasıdaki ilişkileri tablolarınızı oluştururken tanımlayım bu program ilişkileri tanır.

http://php-faces.googlecode.com/files/generator.zip programı bu adresten indirebilirsinin unutmadan programın çalışabilmesi için sisteminizde JVM bulunmalı! generator.jar isimli dosyayı çalıştırdığınızda kaşınıza aşağıdaki gibi bir pencere gelecek buradan gerekli ayarlamaları yapıp generate butonuna basın ve varlık sınıflarının kayıt edileceği dizini secin. Bundan sonra PHP faces entity generator programının sizin için nasıl PHP kodladığını görün.

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)

ORM nedir ? PHP ORM Faces İlişkisel Nesne Eşleştirme

0

Tarih : 20-10-2009 | Yazan : Hüseyin Bora | Kategori : Faces ORM, PHP, PHP ORM, Yazılım Mimarileri

PHP ORM Faces
ORM nedir? İlişkisel Nesne Eşleştirme (Object Relation Mapping) basit bir anlatımla veritabanındaki tablolara karşılık gelen sınıflar ve bu sınıfların özelliklerine göre SQL cümleleri üretebilen bir yazılım mimarisidir diyebiliriz.

ORM Faces Çalışma Şeması

Tablolarımıza karşılık gelen bu sınıflara genel anlamda Varlık(Entity) sınıfları adını veriyoruz. Nesne yönelimli programlamada her şey birer nesne olarak düşünülmeli O halde veri tabanındaki işlemlerimizde nesneler olarak düşünmeliyiz. İşte burada ORM bize veritabanındaki tablolarımızı nesneleştirmemizi ve CRUD(create, read, update, delete) işlemlerimizi bir nevi basitleştirmemizi sağlamakta.

Örnek vermek gerekirse veritabanımızda urun adında bir tablo olduğunu ve urun tablosu için PHP tarafında Urun adında bir varlık sınıfımızın olduğunu varsayalım. Veri tabanındaki urun tablosuna yeni bir urun eklemek için

$urun = new Urun();
$urun->adi=”CPU”
$urun->fiyat=”124”;
$urun->save();

PHP Faces ORM yapısından faydalana bilmeniz için PHP PDO eklentisini aktif durumda olmalı.
PDO eklentisini php.ini dosyasından aktif duruma getirebilirsiniz. windows işletim sistemi için uzantılar. dll şeklinde olacak şekilde ayarlanmalı.

extension = pdo.so
extension = pdo_sqlite.so
extension = sqlite.so
extension = pdo_mysql.so

Ayrıca PHP Faces ORM yı tek başına yani Faces frameworkten bağımsız bir şekilde de kullanabilirsiniz bu makalede yazılanları hem framework dâhilinde hemde sadece orm kullanarak gerçekleştirebilirsiniz.

PHP Faces ORM katmanının frameworkten ayrılmış hali için indirme bağlantısı aşağıda hemen zip dosyalarını çıkarıp çalışmaya başlayabilirsiniz.

ORM Faces in bağımsız halini burdan indirin

Varlık sınıfları
Veritabanındaki tablolarınıza karşılık gelen varlık sınıfları Entity sınıfından genişletilir.
Tablonuzu varlık sınıfı ile eşleştirirken Açıklama Notu (Annotation) kullanırsınız bu hem kodunuzun okunabilirliğini sağlar hem de XML gibi başka bir dosyadan okumanın maliyetine katlanmaz kısacası XML ile eşlemeden daha verimlidir diyebiliriz.

Açıklama Notları ile Sınıfları eşleştirmek

PHP de Annotation kavramı henüz yerleşmemesine karşın Reflicaiton ile açıklama notları kullanılabilir.

Annotationlar açıklama satırları arasına @ et işareti kullanmak sureti ile oluşturulur.
Örneğin PHP Faces ORM da tablonuz ile sınıfınızı eşlemek için sınıf tanımlamasının üzerine @table notu eklenir. @Table notunun kullanımı aşağıdaki gibidir.

/**
*  @Table(name = "urun")
*/
class Urun extends Entity{ }

Yukarıdaki açıklama satırı ile Urun sınıfını veritabanındaki urun tablosuyla eşleştirmiş olduk.
Veritabanındaki tabloların sütunları ile varlık sınıflarının private üyeleri eşleşebilir sütunlar ile sınıf üyelerinin eşleşmesini sağlamak için sınıf üyesinin tanımlandığı yerin üzerine @Column notu eklenerek kullanılır. Örneğin ürün tablosunda id, fiyat, ad sütunları bulunduğunu varsayarak.

/**
*  @Table(name = "urun")
*/
class Urun extends Entity{
/**
@Column(name = "id")
*/

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

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

private $adi;
}

Varlık sınıfımıza bulunması gereken iki önemli metot vardır get ve set metotları. Bu metotların eklenme sebebi ORM Update gibi SQL cümleleri oluştururken hangi bilgilin değiştirildiğini bilmek zorunda olmasıdır. Örneğin sadece adını değiştirdiğimiz bir ürünün id ve fiyat sütunlarının güncellenmemesi gerekmektedir. Kısacası ORM Hangi Sınıfların hangi alanlarının update edilmesi gerektiğini anlamalıdır. Gereksiz güncellemelerle sistemi yormamalıdır.

Get ve Set metodları aşağıdaki sınıf içerisindeki gibi kullanılabilir.

/**
*  @Table(name = "urun")
*/
class Urun extends Entity{
/**
@Column(name = "id")
*/

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

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

private $adi;

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

public function get($name) {

return $this->$name;
}
}

Birincil anahtar eşleştirmesi @Id notunun eşleşecek olan sınıf üyesinin tanımlandığı yerin üzerine yazılması sureti ile gerçekleştirilir. Urun @Id notu eklenmiş son hali aşağıdaki aşağıda ki gibi olacaktır

/**
*  @Table(name = "urun")
*/
class Urun extends Entity{
/**
@Id
@Column(name = "id")
*/

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

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

private $adi;

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

public function get($name) {

return $this->$name;
}
}

Basitlik olması adına bu örneğimizi PHP Faces framework haricinde uygulama yolunu seçiyorum dilerseniz bu örnekleri bir controller içerisinde de uygulayabilirsiniz.

Veri tabanı ile bağlantının yapılandırılması

http://php-orm-persistence.googlecode.com/files/php-orm.zip adresinden indirdiğiniz klasör içerisindeki config.php dosyasını düzenlemek üzere bir editor yardımı ile açıyoruz. Ve aşağıdaki satırları kendi veritabanı yapılandırmamıza göre değiştiriyoruz.

define("DB_CONNECTION_STRING","mysql:host=localhost;dbname=veritabaniadi");//sunucunuz ve veritabanı adı
define("DB_USER","root");//veritabanı kullanıcı adı
define("DB_PASS","abc345");//veri tabanı parolası
define("DB_CONNECTOR","PDO");//bu satırı değiştirmeyin
>require_once "facespersistence/persistence.php";// PHP ORM Persistence kütüphanesi

Şimdi yeni bir php dosyası içerisine index.php olabilir yukarıda oluşturduğumuz Urun varlık sınıfını içeren urun.php ve config.php dosyalarını dahil ediyoruz.


require_once "config.php";

require_once "urun.php";

PHP Faces varlık sınıflarını yönetebilmemiz için EntityManager adında bir sınıf sunmakta sorgulama kaydetme, silme gibi tüm işlemlerimizi bu sınıf yardımı ile gerçekleştiriyoruz. EntityManager’ın örneğini elde etmek için static getInstance metodunu kullanabilirsiniz.

Urun tablosuna yeni bir satır eklemek


require_once "config.php";

require_once "urun.php";
$urun = new Urun();
$session = EntityManager::getInstance();
$urun->adi=”LCD Monitor”;
$urun->fiyat=”450”;
$session->save($urun);

EnitityManeger’ın find metodu parametre olarak varlık sınıfı adi ve varlık sınıfını tanımlarken @Id ile tanımladığımız birincil anahtar değerlerini kabul eder. Veritabanında verilen değerle göre sorgulama yapar sorgulama sonucu bir kayıt bulunursa birinci parametre olarak verilen sınıf isminde veritabanındaki verilerle eşleşen bir nesne döndürür.

Örnek
Urun tablosundan bir kayıt seçmek ve seçilen kayıt’ı güncelleştirmek


require_once "config.php";

require_once "urun.php";
$session = EntityManager::getInstance();
$urun = $session->find(“Urun”,1);
$urun->fiyat=”399”;
$session->save($urun);

Hem yeni bir kayıt eklemek hem de var olan bir kayıt’ı güncellemek için save metodunun kullanılması sizi şaşırtmasın ORM hangi kayıtın veri tabanından depolandığının bilincindedir.


require_once "config.php";

require_once "urun.php";
$session = EntityManager::getInstance();
$urun = $session->find(“Urun”,1);
$urun->fiyat=”399”;
$session->save($urun);

EnitityManeger’ın delete metodu parametre olarak verilen varlık sınıfıyla eşleşen satırları veritabanından kaldırır.


require_once "config.php";

require_once "urun.php";
$session = EntityManager::getInstance();
$urun = $session->find(“Urun”,1);
$session->delete($urun);

Faces Orm da Varlık sınıfları arasında ilişkiler
Varlık sınıfları arasındaki ilişkiler veritabanını tasarlarken yaptığınız ilişkilendirmelere benzer Varlık sınıflarında tanımladığınız ilişkilerin tablolarda bulunması da gerekmez.

PHP faces daki 4 adet ilişkisel annotation vardır

  • @OneToOne  (bire bir)
  • @OneToMany (bire çok)
  • @ManyToOne (bir çok a bir)
  • @ManyToMany (bir çok a bir çok)

Yukarıdaki dört annotationnında üç adet parametreleri bulunmaktadır

mappedBy = “Sınıf adı”

pk = ” birincil anahtar ”

fk = ” yabancı anahtar”

Urun tablomuzda yorumlar adında bir tabloya bir e çok ilişki bulunduğunu ve yorumlar adında da bir varlık sınıfımızın olduğunu varsayalım.

bire çok ve birçok a birçok ilişkilerde çok olan taraf bir ArrayObject olarak tanımlanmalıdır.

 /**
*  @Table(name = "urun")
*/
class Urun extends Entity
{
/**
* @Id
* @Column(name = "id",type ="INT")
*/

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

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

private $ad;
/**
* @OneToMany(mappedBy ="Yorumlar", pk= "id", fk= "urunno")
*/

private $yorumlar;

public function Urun(){
parent::Entity();
$this->yorumlar = new ArrayObject();
}
function get($name) {

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

Yorumlar tablosu için varlık sınıfı bir yorum bir urun için yapılabileceği için yorumlar sınıfındaki ilişki tanımlaması @OneToOne şeklinde olmalıdır.

 /**
*  @Table(name = "yorumlar")
*/
class Yorumlar extends Entity
{
/**
* @Id
* @Column(name = "no")
*/

private $no;
/**
* @Column(name = "urunno")
* @ManyToOne(mappedBy ="Urun", pk= "urunno", fk= "id")
*/

private $urunno;
/**
* @Column(name = "yorum")
*/

private $yorum;
function Yorumlar($yorum=null)
{
parent::Entity();
$this->yorum= $yorum;
}
function get($name) {

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

Urun sınıfımızın yorumlar ismindeki üyesine erişerek yeni yorumlar ekleyelim


require_once "config.php";

require_once "urun.php";

require_once "yorumlar.php";
$session = EntityManager::getInstance();
$urun = $session->find(“Urun”,1);
$urun->fiyat=222;
$urun->yorumlar->append(new Yorum(“Bu bir denemedir yorum 1));
$urun->yorumlar->append(new Yorum(“ORM gerçekten kullanışlıdır buda yorum 2));
$session->save($urun);

Yukarıdaki Tek bir save satırı veritabanında 3 SQL cümlesi işletilir Yukarıda bahsettiğim gibi ORM hangi sınıfların veritabanından hangi sınıfların dışarıdan oluşturulduğunu algılayabilme kabiliyetine sahip olmalıdır. Sonuçda urun nesnesi için update,  urun sınıfın new ile oluşturulmuş her bir yorum nesnesi için insert cümleleri oluşturulur ve işletilir.

Yorumları aşağıdaki gibi listeleyebiliriz

Foreach($urun->yorumlar as $oku)
Echo $oku->yorum;

Yorum sınıfı urun sınıfın üyesi Urun sınıfı da yorum sınıfının üyesidir yorum nesnelerinden de urun’e ulaşılabilir. Tüm ilişkili varlık sınıfı nesneleri birbiriyle öz yinelemeli bir tekrar içindedirler ve bir birlerinin örneklerini referans olarak barındırırlar

Örnekler

$urun->yorumlar[0]->id;
$urun->yorumlar[0]->urun->adi;
$yorum->urun->adi;
$yorum->urun->yorumlar[1]->yorum->urun->adi;
$yorum->urun->yorumlar[0]->yorum->yorumlar[1]->urun->adi->yorumlar[3]->yorum;

Örnek PHP Faces Entity Framework üzerinde uygulama videosu



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)