我正在开发一个CakePHP项目,该项目有一个从多个文本文件填充的数据库。我没有编写大多数填充数据库的脚本(它们是用Perl / Python编写的)。虽然我创建了几个PHP脚本,但根据一些其他文本文件中的信息更改了数据库中的某些数据。我的问题是所有这些脚本在CakePHP应用程序中最适合的地方。如果需要,允许用户再次使用我的PHP脚本修改数据库中的信息的常见做法是什么?
答案 0 :(得分:0)
由于cakePHP是MVC,您应该将您谈论的所有脚本放在控制器中。 所以假设你的表叫做:“帖子” 所有CRUD功能都应该在模型中 - 所有对模型的访问都应该来自控制器。基本上,与DB对话的逻辑应该在Model中,调用该逻辑的函数应该在Controllers中。我希望在编辑答案之前,这可以更好地解释我的意思。
答案 1 :(得分:0)
如果需要,会允许用户再次使用我的PHP脚本修改数据库中的信息吗?
由于您正在处理数据库,因此这里显而易见的选择是创建一个允许用户可以用来更改数据库的模型。
以下是我可能会做的一个非常简单的例子:
class Alter extends AppModel {
// tells the model not to use a database table
public $useTable = false;
public function do_stuff() {
// your code to include scripts and alter database with, I'm assuming, raw SQL
}
}
然后你需要一个该模型的控制器
class AltersController extends AppController {
public function edit($param1, $param2) {
// code here to access the model
$this->Alter->do_stuff();
}
}
现在,您的用户可以根据需要编辑数据库。您的数据逻辑也已正确封装在模型中,我相信它应该存在。
编辑:
关于OP的问题。 Here's an article that talks about using Perl with PHP