Bir web uygulamasında bir ORM nedir?

5 Cevap php

Geçenlerde biz (Ruby gibi) uygulama tarafını eleme tüm çalışır bizim uygulamada bir ORM kullanarak ya da SQL tomarları yazarsanız, gömülü fonksiyonlar vb veritabanı sunucusu yetinmek hangi eğer soran bir sunucu şirketten bir cevap var Sizin için işleme.

Herkes bu ne anlama geldiğini açıklayabilir. Kullanıcıya sonuçlarını döndürmek için gerektiği gibi bizim web uygulama veri satırları almak için veritabanına çağrıları yapmak fonksiyonları ile PHP oluşur, daha sonra PHP bu satırları işler.

teşekkürler

5 Cevap

Bu temelde kolayca veri işlemek böylece veritabanı tabloları sitenizin PHP tarafında nesneler gibi görünmesini sağlar.

Eğer bir kullanıcı tablo varsa Örneğin, bu kullanıcı adını alma yapmak kadar kolay değildir: $myUser->getName();

veritabanınızda yeni kullanıcı ekleme olacaktır:

$myUser = new User();
$myUser->setName('John Doe');
$myUser->save();

Tabii ki bu sözde kod (aslında PHP Symfony / Doktrini kodu), ancak nokta olsun bu yüzden basit bir örnek.

Bu bir nesne ilişkisel eşleme olduğunu. Aşağıdaki wikipedia linki bakın.

http://en.wikipedia.org/wiki/Object-relational_mapping

Bir ORM bir nesne yönelimli bir dilde bir ilişkisel veritabanı ile çalışmayı kolaylaştırmak gerekiyordu bir soyutlama değildir. Bu temelde doğrudan SQL kullanmadan veri almak ve güncellemek, yapalım sınıflar ve yöntemler bir set.

For instance instead of writing $result=mysql_query('select * from sandwiches where color='green' and size='2');

you can use an interface like $result=$sandwiches->get('color'=>'green',=>'size'=>'2');

ve ORM vb, SQL içine bu döner ve birleştirmeler bakımı, sorgualamayı

Popüler PHP ORMS'nin Doctrine ve Propel vardır

Eğer bunu olduğu oldukça düşüktür daha birini kullanarak ister bilmiyorsanız!

ORM uygulama nesneleri veritabanı nesneleri Haritalama için kullanılır.

ORM kullanarak basit bir uygulama, size uygun bir uygulama nesne / nesneleri döndürmek gerekir DB / den / setleri verileri alır işlevleri olmalıdır.

ORM Nesne İlişkisel haritalama bir Wikipedia yazıdır.