Bir Taban Kod Sistemi için gerekli Fikirler [kapalı]

3 Cevap php

Ben stratejik bir yeniden yapılanma ihtiyacı şu anda bir PHP web uygulaması geliştirdik.

Şu anda biz bizim ana etki alanının alt etki onlara tüm kod tabanı vermek ve veritabanı onlar için yeni bir tablo oluşturmak biz kurulum yeni müşteriler.

Bu, her istemci biz hata değişikliklerini, düzeltmeleri biz geri dönmek ve tüm istemciler arasında bağımsız bunları uygulamak zorunda ve bu bir acıdır yaptığınızda, yani tüm kod temeli olan sonuçlanır.

Ne oluşturmak istediğiniz tüm çekirdek PHP dosyalarını tutan bir taban kod sunucusudur.

base.domain.com

Sonra tüm müşterilerimize (client.domain.com), sadece birkaç dosyaları ihtiyacınız olacaktır:

  • config.php would have the database connection information.
  • index.php - displays the login box if session non-existent, otherwise it loads baseline code via remote includes to base.domain.com.

Benim sorum Benim mantık mümkün görünüyor edilir? Nasıl diğer insanlar bir taban kod alarak benzer durumları ele?

Ayrıca .... uzaktan base.domain.com PHP dosyaları içerir ve client.domain.com onları dahil etmek bile mümkün mü?

3 Cevap

Her müşteri için bir clientId oluşturun, sonra tek bir veritabanında çalışabilir ve size her kullanıcı için bu benzersiz kimliği tanımlamak config.php ile başa çıkabilirim.

İkinci soru:

PHP.NET http://php.net/manual/en/function.include.php:

"URL fopen sarmalayıcıları" PHP (bunlar varsayılan yapılandırmada olan) etkin ise, HTTP veya desteklenen başka bir sargı yoluyla (bir URL kullanarak dahil edilecek dosya belirtebilirsiniz - listesi için Desteklenen Protokollerin / Sarmalayıcıların listesine bakınız yerine yerel Pathname protokolleri). Hedef sunucu PHP kodu olarak hedef dosyayı yorumlaması, değişkenler HTTP GET ile bir URL istek dizgesi olarak kullanarak dahil dosyaya aktarılabilir. Bu kesinlikle dosyası dahil ve ana dosyanın değişken uzayını miras olarak aynı şeyi konuşan değil; betik aslında uzak sunucuda çalıştırın ve sonuç, daha sonra yerel bir komut dosyası içine dahil ediliyor.

Uzaktan base.domain.com PHP dosyaları ve client.domain.com onları dahil etmek bile possbile mı?

Mümkün, ama dismally yavaş. Merkezi sunucu çevrimdışı ise artı, ne olur? Tüm müşterilerin uygulamalar bir daha aday olmayacağını.

Ben müşterinizin uygulamalar üzerinde çalışan bir platform ne tür bilmiyorum, ama bu Subversion gibi bir versiyon kontrol sistemi için bir iş değil mi?

Kod tabanı değişiklikler merkezi bir depoya teslim alacağı, ve sonra tüm müşterilerin kopyalar otomatik olarak güncellenir.

This results in each client having the entire codebase, meaning when we make bug changes, fixes we have to go back and apply them independently across all clients and this is a pain.

Yerine neden bu sorunu çözmek değil? Eğer farklı müşterilerine yayınlanan 'kararlı' son rsync küçük bir script istiyorum inşa yazmıyorum zaman alıcı veya hata-eğilimli olmak (ya da tam olarak sizin versiyon kontrol yazılımı kullanın) gerekir.