2013-03-16 19 views
6

Birkaç projede veri tabanına ihtiyacımız yok, bu yüzden cakephp'i yerel makinede veritabanı yapılandırmasında değişiklik yapmadan nasıl kuruyoruz? Şu anda ne yaptım ... Veritabanı ve değiştirilmiş yapılandırma dosyası oluşturdum. Ama benim veritabanımda hiçbir tablo yok, veritabanı sadece israfı .... bu yüzden bunu yapmak için daha iyi bir yol öner. Veritabanı olmadan cakephp'i nasıl kuruyoruz?

.. şimdiden teşekkürler

cevap

0

sadece aşağıdaki gibi DB gelen tablo ihtiyacı olmadığını belirtin DatabaseFunctions.php içinde ve kullanmak Modeller için boş datasourse varsayılan ayarlarına bırakabilirsiniz:

class MyModel extends AppModel { 
    public $useTable = false; 
} 
4

CakePHP 2.3.x ile veritabanı yapılandırmasında veri kaynağı olarak boş bir dize kullanıyorum ve iyi çalışıyor.

Sen DB tabloları kullanmak değil AppModel söylemek zorunda
class DATABASE_CONFIG { 
    public $default = array(
     'datasource' => '', 
    ); 
} 

, aksi takdirde sonraki adımda:

veritabanı yapılandırma (app/Yapılandırma/DatabaseFunctions.php) neredeyse boş, bu şuna benzer Bir hata: "Veri kaynağı sınıfı bulunamadı". $ UseTable'ları yalnızca alt modellerde ayarlamak yeterli değildir.

class AppModel extends Model { 
    public $useTable = false; 
} 

Henüz bir sorunla karşılaşmadım.

+5

Merhaba, sınıf DATABASE_CONFIG { \t kamu $ default = array ( \t \t \t \t 'veri kaynağı' => '', \t \t \t \t); } veritabanı dosyamdır.Ayrıca public $ useTable = false ayarlanmışsa hala bir hata verir. "Veri kaynağı sınıfı bulunamadı." –

2

Cakephp aslında kek parçasını CakePHP'de uygulamayı edilir oluşturarak olursa olsun yani bu

class MyModel extends AppModel { 
    public $useTable = false; 
} 

bu sadece bir hata olacaktır kullanarak bir tablo kullanmamanız bir veritabanına bağlanmayı deneyin. Veritabanı olmadan geliştirmeye başlamak için yapmanız gereken bazı adımlar.

  1. sahte Dbo kaynağı oluşturun

app/Model/Veri kaynağı/DBØ dosya DboFakeDboSource.php Oluştur/ve varsayılan bağlantı ayarlayın o

class DboFakeDboSource extends DboSource { 
    function connect() { 
    $this->connected = true; 
    return $this->connected; 
    } 
    function disconnect() { 
    $this->connected = false; 
    return !$this->connected; 
    } 
} 
  1. aşağıdaki kodu koymak

sonraki adım kullanmak CakePHP'ye söylemektir Varsayılan olarak dbo kaynağı. Git ve değişim varsayılan DatabaseFunctions.php bağlantı bu

var $default = array(
    'driver' => 'FakeDboSource' 
); 
  1. İnce ayar gibi üçüncü basamak emin olmaktır modeli

olmak o $ useTable = false; her modele dahil edilmiştir, bu yüzden AppModel'e ekleyin.php

+0

cakephp-2.3 için çalışmaz – sumitkanoje

+0

App :: uses ('DboSource', 'Model/Datasource'); Model, diğer bilge hata verir [Sınıf 'DboSource' bulunamadı] – sumitkanoje

+0

henüz emin değilim, çünkü bu çözüm Cakephp 2.0 üzerinde test edildi –

İlgili konular