假设模型将数据插入数据库。
class Model
{
public function insert($value) {
// putting $value to database to integer field
}
}
我想通过$value
将(int) $value
转换为int,以防止插入非数字值。
我应该在哪里这样做?在模型方法中还是在控制器中?
class Controller
{
public function indexAction() {
$model = new Model;
$model->insert($_POST['user_id']);
}
}
答案 0 :(得分:0)
integer
几乎没有任何区别,它只是以相同的方式使用它并在实际需要时隐式转换。答案 1 :(得分:0)
控制器只接受用户输入并向模型提供数据。控制器不应该对数据库和存储格式一无所知。从理论上讲,您可以使用其他数据类型将一个数据库更改为另一个数据库,这将是您的模型的问题,而不是控制器。
答案 2 :(得分:0)
你应该只在控制器中完成... bcz这是我能说的最佳实践......
所以从控制器你可以将$value
转换为(int)形式并发送
你可以在控制器
中完成 $data = (int) $value;
$model->interst($data);