MyObjects Php 5 - MySql Nesne Köprüsü 1.0 Beta 2 Yayınlandı

0
angeleous
Aslen Zend'in PHP 5 programlama yarışması için geliştirdiğim ve BSD lisansıyla dağıtılan MyObjects PHP 5 kütüphanesi ve araçlarının beta 2 sürümü çıktı. İlk defa Fazlamesai.net'de duyurduğum bu araç kitinin özellikleri kısaca şöyle:

Program benim gibi web projelerinde PHP dilini kullanan ve PHP 5'in gelişmiş nesne modelinden faydalanarak MySQL veritabanındaki kayıtlarını nesneler aracilgiyla yönetmek/görüntülemek isteyen programcılar için geliştirildi. Programın tam olarak 'Object Persistance' ya da 'Object Relational Mapping' tanımlarına akademik olarak uyduğunu söyleyemem. Programı yalnızca program yazarken kendi ihtiyaç duyduğum niteliklerden yola çıkarak geliştirdim.
MyObjects birkaç farklı kısımdan oluşuyor. Birinci kısım veritabanı yapınızı tasarlamanızı (Web arayüzü ile) ya da daha önceden oluşturulmuş bir veritabanının şemasını bir XML dosyasına aktarmanıza yarıyor. İkinci kısım oluşturulan XML formatındaki veritabanı şema dosyasını kullanarak veritabanınızdaki tablolara karşılık gelen PHP sınıflarını oluşturuyor. Son kısım ise oluşturulan PHP sınıfları ile birlikte kullanabileceğiniz çalışma zamanı sınıflarında oluşuyor. Bu sınıflar vasıtasıyla nesnelerin veritabanından veri alınarak oluşturulması, veritabanına kayıt edilmesi ya da kaydın güncellenmesi, nesnelerin XML dosyasına dökülebilmesi ya da XML dosyalarından yeniden bu nesnelerin oluşturulması mümkün oluyor.

MyObjects veritabanı şeması dosyasının oluşturulması, PHP sınıflarının üretilmesi safhasında kullanabileceğiniz komut satırı üzerinden kullanılabilen bir araç ve gelişmiş web arayüzü ile birlikte geliyor. Web arayüzü sayesinde bir MySQL veritabanını tasarlayabiliyor, tasarladığınız veritabana ait SQL çıktısını alabiliyorsunuz.

MyObjects'in en önemli özelliklerinden biri de veritabanı şeması dosyasında yalnızca veritabanınızın teknik özellikleri hakkında değil tablolarınızdaki alanlar ile ilgili sınırlayıcı bilgiler de girebilmeniz. Örneğin Kullanıcılar isimli tablonuzdaki email alanına en fazla 255 karaktere kadar olan geçerli email adreslerini kaydetmek, ve aynı email adresinin birden fazla kez kaydolmasını engellemek istiyorsanız ilgili bilgileri veritabanı şeması dosyasında tanımlayabiliyorsunuz. Böylece ilgili onaylama (validasyon) kodu oluşturulan PHP sınıflarina ekleniyor ve nesnelerinizin hatalı veriler ile doldurulmasını önlüyorsunuz. Hata denetiminde de PHP 5'in yeni "exception handling" mekanizması size yardımcı oluyor. Herhangi bir yanlış değer nesne özelliği olarak atanmak istendiğinde bir "exception" üretiliyor.

MyObjects PHP 5 ve MySQL 4.1 için yazılan yeni "ext/mysqli" eklentisini kullanıyor. Şu an için yeterli olmasa da MySQL 4.1 ile birlikte gelen stored procedure'lere de destek veriliyor.

Programcılar için işleri kolaylaştıracak bir başka nitelik ise oluşturulan PHP sınıflarının içerisine PHPDoc stili açıklamaların eklenmesi. Bu sayede oluşturulan sınıflara ait dokümantasyon PhpDoc aracı ile kolayca oluşturulabiliyor.

Henüz beta aşamasında olan bu proje Zend PHP 5 yarışmasına gönderildi ve şu an itibariyle onay bekliyor. Projenin ana sayfası İngilizce olarak yayın yapıyor ve dokümantasyonu içeriyor. Proje kodlarina ise SourceForge proje sayfasından ulaşabilirsiniz.

Dokümantasyon şu an itibariyle pek yeterli değil. Cookbook tarzı bir kullanım klavuzu hazırlama çalışmalarına başlamak üzereyim. Proje Zend firmasından onay alıp yarışma sayfasında yer aldığında oylarınızla destek olursanız sevinirim.

Teşekkürler, Erdinç Yılmazel

Editörün notu: Bu haberi düzenlerken deASCIIfier sistemi ile işimi kolaylaştıran tspell projesine teşekkürü bir borç bilirim. (Başka bir deyişle: TÜRKÇE KARAKTER KULLANSANIZA KARDEŞİM! :)
PHP

Görüşler

0
angeleous
Türkçe karakter konusunda çok özür dilerim, haberi gönderdiğim bilgisayarda Türkçe karakter yoktu. Bu arada tspell projesinin deasciifier ve asciifier yazılımlar gerçekten çok faydalı.
0
FZ
Sorun değil, acar FM editörleri her türlü otomasyon teknolojini dibine dek kullanmak sureti ile yazarlarına ve okuyucularına hizmet etmek için canla başla çalışıyor. Yarışmada başarılar!
0
angeleous
Beta 2 kodunu iceren zip paketindeki kodda bir Class isminin yanlis yazildigini farkettim, bu nedenle yaptigim baska degisikliklerle birlikte beta 2.1'i yayinladim. Beta 2'yi cekenlerin beta 2.1 [prdownloads.sourceforge.net]'i edinmelerini rica ederim.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

PHP ile Güvenlik Odaklı Programlama

FZ

PHP Güvenlik Konsorsiyumu tarafından hazırlanmış olan PHP Security Guide, derli toplu şekilde PHP kullanan programcılara güvenlik odaklı programlamayı nasıl yapabileceklerini, dikkat edilmesi gereken şeyleri, saldırı yöntemlerini ve tedbirleri anlatıyor.

Nahoş sürprizlerle karşılaşmaktan hoşlanmayan programcıların başucu kaynaklarından biri olabilecek gibi görünen bu belge dileriz ilgili insanlar için faydalı olur, hatta Türkçeye çevrilse daha çok insan faydalanabilir.

PHP ve SUN Microsystems

yalcink01

NewsForge'deki habere göre PHP ve Sun Microsystem işbirliğine gitmişler ve bugün yeni ürün hakkında açıklama yapılacakmış. Sitedeki habere göre PHP, bundan sonra Java Sunucular içinde gömülü halde gelecek ve birtakım özel araçlar sayesinde oldukça performanslı çalışacakmış. Haberin çevirisi buradan okunabilir. Biraz kabataslak oldu, kusura bakmayın.

PHP ile Linux Programlama (Perl ve C Tadında ;-)

FZ

FM'nin genç üyelerinden tasarımcı ve acemi çaylak programcı arkadaşımız knt'nin "Yahu hocam, C tadında PHP gibi bir şey olsa ne kadar güzel olurdu, benim işimi mükemmel görürdü" demesi ve benim onu eleştirmem ile başladı her şey. Birkaç gün sonra knt arkadaşımız karşımıza aşağıda okuyacağınız belge ile çıkageldi. Çoğu kişinin sadece Apache ve web programlama bağlamında kullanılabildiğini ve başka bir işe yaramadığını zannettiği PHP dili ile nasıl normal (!) GNU/Linux programlama yapılabileceğini gösteren bu başlangıç seviyesindeki belgeden ilgili kişilerin faydalanacağını umuyoruz. Lütfen belge ile ilgili yorumlarınızı ve varsa deneyimlerinizi, eleştirilerinizi yazmaktan imtina etmeyin. Ve karşınızda...

PHP`nin son marifeti: Executable PHP!

SHiBuMi

Birkaç hafta önce PHP-GTK ile PHP`nin yepyeni bir şekil almaya başladığını yazmıştım. Çok geçmeden ikinci bomba da düştü: Artık PHP kodlarınızı Windows altında çalıştırılabilir (exe) dosyalara dönüştürebileceksiniz. Bu özellik GTK eklentisi ile birleştiğinde PHP kullanıcıları artık gerçek GUI uygulamaları yaratmaya başlayabilecekler. Bu da PHP'nin bir script dili olmaktan çıkmaya başladığının ve giderek komple bir programlama dili olduğunun en bariz örneklerinden bir tanesi. Şu anda Linux için böyle bir imkan yok ancak open-source olan projenin Linux altında da hayata geçirilmesi için şimdiden dünya çapında kollar sıvanmış. Bu haberle ilgili daha fazla bilgi almak için www.deskcode.com/phpcompiler adresini ziyaret edebilirsiniz.

Web çöktü ve bu tamamen sizlerin suçu!

FZ

Lerdorf Internet'in şu an ki durumunu "hasar görmüş parçaların tekrarı" olarak niteliyor ve internet için hala kalan tek umudun PHP'den alınacak yardım olabileceğini söylüyor.

PHP'i 1995 yılında yaratmış olan Lerdorf, Yahoo'da görevli bir PHP geliştiricisi olmasının yanı sıra PHP camiasının da aktif üyelerinden. PHP de, pek çok açıdan değerlendirildiğinde, günümüzde Web uygulamalarında kullanılan en popüler betik dili olarak kabul ediliyor.

Lerdorf kendisini izlemekte olan kalabalığa oldukça iğneleyici bir dille: "Web oldukça büyük bir zarar gördü, dolayısıyla artık hepimiz evlerimize geri dönebiliriz. Ama neyse ki, pek çok insan Web'in çöktüğünün farkında değil" ve devam etti...