RoR geliştiricisiyim, ancak şu anda sunucuyu değiştiremediğim bir proje için CakePHP ile çalışıyorum. Rails üretim sunucumda, Yolcu, yerel uygulama kurulumunu geçersiz kılarak "Üretim" ortamını otomatik olarak kullanmak üzere kurulur. Aynı şeyi yapmak için cakephp uygulamasını kurmak istiyorum. Bunu genellikle CakePHP ile nasıl başarırsınız? Bir etki alanı ayrıştırıcısı mı kuruyorsunuz yoksa core.php ve database.php'yi sürüm denetimi dışında tutuyor musunuz? ve core.php dosyasındaki versiyon kontrol dışı tutmak olduğunu sadece tek Configure::write('debug', 0)
* yönergesini tutan ekstra dosyası oluşturabilirCakePHP'yi geliştirme/üretim ortamlarımı algılayacak şekilde nasıl yapılandırabilirim veya yapılandırma dosyalarını sürüm denetimi dışında tutuyor muyum?
cevap
, bu size gereken şey olabilir/bootstrap.php içinde dev. Bu şekilde, uygulama genelinde sabitleri tekrar kullanabilirsiniz.
bootstrap.php:
define('IS_PROD',(isset($_SERVER['SERVER_NAME']) && $_SERVER['SERVER_NAME'] == 'cubismedia.com') ? true : false);
DatabaseFunctions.php:
function __construct() {
if (IS_PROD) {
$this->default = $this->prod;
} else {
$this->default = $this->dev;
}
}
//development
public $dev = array(
//db settings
);
//production
public $prod = array(
//db settings
);
peşin sayesinde Davide, ithalat. Her iki dünyanın en iyisi.
* veya veritabanı için
değiştirmenize gerek başka ne, yerel ve üretim bağlantı ayarlarını kurmak ve ardından dosya uygulaması/app_model.php oluşturmak ve çizgi içerebilir:
class AppModel extends Model
{
var $useDbConfig = 'production';
}
Daha sonra, app/app_controller.php dosyasını oluşturabilir ve etki alanlarını ayrıştırabilir ve Configure :: write kullanarak hangi dbconfig'in ve diğer core.php ayarlarının kullanılacağını söyleyebilirsiniz.
class DATABASE_CONFIG
{
//initalize variable as null
var $default=null;
//set up connection details to use in Live production server
var $prod =
array(
// ...
);
// and details to use on your local machine for testing and development
var $dev =
array(
// ...
);
function __construct()
{
if(isset($_SERVER['SERVER_NAME'])){
switch($_SERVER['SERVER_NAME']){
case 'digbiz.localhost':
$this->default = $this->dev;
break;
case 'digbiz.example.com':
$this->default = $this->prod;
break;
}
}
else // we are likely baking, use our local db
{
$this->default = $this->dev;
}
}
}
eşya tanımlamak daha iyi olabilir: DATABASE_CONFIG
yapıcı geçersiz,
Automatically choose database connections in CakePHP
Kısaca: Soruyu doğru anladıysam
Bu temelde yaptığım şey ama bunu core.php'de bir seviyeye kadar yapıyorum. Orada "APPLICATION_ENV" diye bir sabit belirledim, böylece kodun başka bir yerinde referans verebilirim ve ayrıca veritabanı ana bilgisayarı, api tuşları gibi şeyler için sabitleri (yapılandırma değerleri de çalışır) tanımladığım bir ortama özgü yapılandırma dosyası yüklerim. –
- 1. DB göç komut dosyalarını sürüm denetimi
- 2. Zip dosyalarını açmak için vim'i nasıl yapılandırabilirim?
- 3. Common.Logging'i nasıl başarılı bir şekilde yapılandırabilirim?
- 4. Sürüm Denetimi ile İyileştirme
- 5. MVC4 Bundle Sürüm denetimi
- 6. NIB dosyaları ve Sürüm Denetimi: Dalları kullanma
- 7. CSS'mi doğru şekilde alt sınıflara ayırıyor muyum?
- 8. Kabuk betikleri için sürüm denetimi
- 9. Özel yapılandırma dosyalarını yükleme
- 10. tfs veritabanı boyutu - sürüm denetimi
- 11. Jenkins'i hariç tuttuğum birkaç nokta dışında tüm şubeleri oluşturacak şekilde nasıl yapılandırabilirim?
- 12. Monodevelop yapılandırma dosyalarını destekliyor mu?
- 13. RStudio, sürüm denetimi Sürüm olarak ayarlandığında "Yanlış işlev" verir
- 14. Yapılandırma dosyalarını birden fazla sunucuda yönetme
- 15. AppHarbor ile çalışırken, geliştirme ve canlı yapılandırma dosyalarını nasıl düzgün şekilde yönetebilirim?
- 16. Spring'in @ Yapılandırma ek açıklamalarını program aracılığıyla nasıl yapılandırabilirim?
- 17. Özel, makineye özgü yapılandırma dosyalarını Salt
- 18. XCode 5'ten GIT sürüm denetimi nasıl kaldırılır Project
- 19. .Gitignore dosyalarını SVN dışında tutmak mümkün mü?
- 20. TFS'yi çeşitli birleştirme araçlarıyla çalışacak şekilde nasıl yapılandırabilirim
- 21. SQL Server'ı IIS üzerinden erişime izin verecek şekilde nasıl yapılandırabilirim
- 22. Mercurial'i birleştirme için WinMerge'i cygwin altında kullanacak şekilde nasıl yapılandırabilirim?
- 23. Nginx'i Jetty6 web sunucusu ile çalışacak şekilde nasıl yapılandırabilirim?
- 24. Betamax'ı Spock testlerim için SSL kullanacak şekilde nasıl yapılandırabilirim?
- 25. Symfony yaml yapılandırma dosyalarını xml biçimine dönüştürme
- 26. Tomcat'i SSL Kullanacak Şekilde Yapılandırma
- 27. Nokta dosyalarımda hangi IntelliJ yapılandırma dosyalarını kaydetmeliyim?
- 28. Çalışma alanının dışında bir yapıyolu klasörü eklemek için Eclipse'i yapılandırma
- 29. Birden çok çekirdekle Solr çoğaltmayı nasıl yapılandırabilirim
- 30. Balık yapılandırma dosyalarını bash gibi dinamik olarak nasıl yeniden yüklersiniz?
Mükemmel, yardımcı aynen waht ben – nutsmuggler
memnun bu makalede arıyordu :) geribildirim Bağlantı artık çalışmıyor – Eddie
bırakın. Gelecekte, bunun gerçekleşmesi durumunda önemli ayrıntıların bir bağlantıdan alıntılanması iyi bir fikirdir. – BMitch