Я использую инфраструктуру MVC (Zend Framework) с ORM (Doctrine 2).На первый взгляд ответом кажутся модели.Но, подумав, интересно, должно ли это быть в контроллере.Я ссылаюсь на такие функции, как
static function addProduct($name, $desc, $quantity, $price) {
$product = new Product();
$product->name = $name;
$product->desc = $desc;
$product->quantity = $quantity;
$product->price = $price;
$em->persist($product);
$em->flush();
}
Такие функции кажутся нормальными.Но если бы я разрешил встроенные изменения через AJAX.например.просто отредактируйте название продукта, я думаю, что в моем контроллере я буду использовать что-то вроде
$product->setName($name);
$em->flush();
Но тогда, так как мне все равно нужен Entity Manager $em
в моем контроллере, это будет похоже на код базы данных вконтроллеры уже?Значит ли это, что я делаю это неправильно?Или, может быть, я могу просто сделать что-то вроде
$product = new Product();
$product->setName($name);
$product->setDesc($desc);
$product->setQuantity($quantity);
$product->setPrice($price);
$em->persist($product);
$em->flush();
В моем контроллере?