CakePHP 3:一般数据库代码放在哪里?
CakePHP 3: Where do it put general DB code?
我试图弄清楚将我的代码放在哪里以重建整个数据库。据我所知,它需要放在 Model
目录中的某个地方,因为它显然是用于访问数据库的。它不是 Behaviour
因为它不可重复使用。它不是 Entity
,因为它不允许访问 table 内的数据。它不是 Table
,因为它会重置整个数据库。
那么,我应该在哪里放置 class 来重置我的数据库(或将其更新到当前版本)?是否有概述将哪些代码放在哪里以及如何从那里访问它?
感谢您的帮助!
此致,
亚历克斯
编辑:我认为我的问题是理解 MVC 模式。你能告诉我将通用代码放在哪里的最佳做法吗?
"Rebuilding the entire database" 听起来很像迁移插件的作用:https://github.com/cakephp/migrations
要直接回答您的问题,您可以在文件夹结构内的任意位置创建自己的 类。例如,您可以有一个文件 src/Database/Rebuilder.php
,您可以在需要它的代码中的任何地方调用它:
$rebuilder = new \App\Database\Rebuilder(ConnectionManager::get('default'));
我试图弄清楚将我的代码放在哪里以重建整个数据库。据我所知,它需要放在 Model
目录中的某个地方,因为它显然是用于访问数据库的。它不是 Behaviour
因为它不可重复使用。它不是 Entity
,因为它不允许访问 table 内的数据。它不是 Table
,因为它会重置整个数据库。
那么,我应该在哪里放置 class 来重置我的数据库(或将其更新到当前版本)?是否有概述将哪些代码放在哪里以及如何从那里访问它?
感谢您的帮助!
此致, 亚历克斯
编辑:我认为我的问题是理解 MVC 模式。你能告诉我将通用代码放在哪里的最佳做法吗?
"Rebuilding the entire database" 听起来很像迁移插件的作用:https://github.com/cakephp/migrations
要直接回答您的问题,您可以在文件夹结构内的任意位置创建自己的 类。例如,您可以有一个文件 src/Database/Rebuilder.php
,您可以在需要它的代码中的任何地方调用它:
$rebuilder = new \App\Database\Rebuilder(ConnectionManager::get('default'));