PHP Ticari Proje Fonksiyon tanımlamak

3 Cevap php

Şu anda PHP ile bir ticari proje ile çalışıyorum. Ben sadece çocuklar nasıl çözmek tartışmak istiyorum, bu soru gerçekten tüm programlama dili için PHP için geçerli değildir düşünüyorum.

MVC framework (CodeIgniter) çalışır.

modeli sınıfındaki tüm veritabanı işlem kodu.

Previously, I seperate different search criteria with different function name. Just an example

function get_student_detail_by_ID($id){}
function get_student_detail_by_name($name){}

Eğer fonksiyonu gördüğünüz gibi aslında sadece bunun için bir parametre eklemek, birine birleştirebilirsiniz. Ama proje ile acele bir şey, geri önceden var sadece bazı değişiklikler hedefe karşılamak yapmak ne benzer işlevi aramaz. Bu durumda, biz çok işlevi bakım orada ve zor olduğunu gördük.

Recently, we try to group the entity to one ultimate search something like this

function get_ResList($is_row_count=FALSE, $record_start=0, $arr_search_criteria='', $paging_limit=20, $orderby='name', $sortdir='ASC')

we try to make this function to fit all the searching criteria. However, our system getting bigger and bigger, the search criteria not more 1-2 tables. It require join with other table with different purpose. What we had done is using IF ELSE,

if(bla bla bla)
{
   $sql_join = JOIN_SOME_TABLE;
   $sql_where = CONDITION;    
}

sonunda, biz işlevi maintance için çok zor buldum. o da hata ayıklamak çok zor.

Senin fikrini sormak istiyorum, onlar bir işlevi ve nasıl revize tanımlamak için nasıl Bu tür bir sorunu çözmek ticari çözüm nedir. Ben bu linki proje yönetimi beceri olduğunu düşünüyorum. Eğer bizimle paylaşmak isteyen umuyoruz.

Teşekkürler.

3 Cevap

Active Record vs ORM biraz araştırma yaptım sonra. Benim durum için ben ORM geçerek yardım çok daha iyi bana yardımcı olacak bulamadık.

Ben ORM OKU çok veri yapmak olmadığını öğrendim. Ama iyi de, Güncelleme Oluştur ve Sil.

Benim geçerli çözüm her model daha önce bu-> db-> query () $ geçmek, benim kendi OR_WHERE () / AND_WHERE () yeniden derlemek olduğunu. Onu korumak ve özelleştirmek için daha kolaydır.

Eğer CodeIgniter'ı kullanıyorsanız, sadece kullanmak:

http://www.overzealous.com/dmz/

Ben bile onsuz ne yapardım bilmiyorum.

Tebrikler, icat, bir ORM :)

Seninkinden daha benim görüşüme göre, tüm bunlar daha iyi, yok commercial ORM solutions bol ama. Ve ben iyi ol 'SQL için gitmek istiyorum.