在少数项目中我们不需要数据库,那么我们如何在本地机器上设置cakephp而不修改数据库配置?现在我做了什么......我创建了数据库并修改了配置文件。但我的数据库没有表,它只是数据库的浪费....所以请建议更好的方法来做到这一点。
提前谢谢..
答案 0 :(得分:4)
使用CakePHP 2.3.x我只是在数据库配置中使用空字符串作为数据源,它可以正常工作。
数据库配置( app / Config / database.php )几乎为空,如下所示:
class DATABASE_CONFIG {
public $default = array(
'datasource' => '',
);
}
你必须告诉你的AppModel不要使用数据库表,否则你会收到一个错误:“找不到数据源类”。仅在后代模型中设置$ useTable是不够的。
class AppModel extends Model {
public $useTable = false;
}
我没有遇到任何问题。
答案 1 :(得分:2)
Cakephp实际上尝试连接到数据库,无论您不使用表 所以使用这个
class MyModel extends AppModel {
public $useTable = false;
}
这只是一个错误,在cakephp上创建应用程序是小菜一碟。为了在没有数据库的情况下开始开发,您需要执行以下步骤。
在app / Model / Datasource / Dbo /中创建文件DboFakeDboSource.php并将以下代码放入其中
class DboFakeDboSource extends DboSource {
function connect() {
$this->connected = true;
return $this->connected;
}
function disconnect() {
$this->connected = false;
return !$this->connected;
}
}
下一步是告诉cakephp默认使用dbo源。转到并更改database.php中的默认连接,使其像这样
var $default = array(
'driver' => 'FakeDboSource'
);
第三步是确保$ useTable = false;包含在每个模型中,因此将其添加到AppModel.php
中答案 2 :(得分:0)
您可以在database.php中保留默认数据源设置为空,对于您使用的模型,请指定它不需要DB中的相应表格,如下所示:
class MyModel extends AppModel {
public $useTable = false;
}