Некоторое время назад я задал вопрос о структуре каталогов приложения для приложения, ориентированного на API, относительно структуры каталога приложения.
Организация структуры каталога веб-приложения, ориентированного на API
Поскольку мое приложение растет и в моей базе данных появляется больше таблиц, я сталкиваюсь со структурой, в которой в моей базе данных есть один контроллер на модель и одна модель на таблицу.Является ли использование одного контроллера на модель допустимым подходом?
Как управлять размером приложения при добавлении дополнительных таблиц?
Контроллер
<?php
namespace controllers;
class RiskController
{
private $_params;
public function __construct($params = [], $endpoint2 = null, $payload = [])
{
$this->params = $params;
$this->payload = $payload;
}
public function get($id = null)
{
$service = new \data\service\riskservice();
if ($id == null)
return $service->findAll();
return $service->findOne($id);
}
public function post($id = null)
{
$service = new \data\service\riskservice();
return $service->createOne($this->payload);
}
public function put($id = null)
{
$service = new \data\service\riskservice();
return $service->updateOne($this->payload);
}
}
Служба
<?php
namespace data\service;
class riskservice extends service
{
protected function _getMapper()
{
$db = $this->db()->getHandle();
return new \data\mapper\risks($db);
}
public function findOne($id)
{
$mapper = $this->_getMapper();
$params = array('risk' => $id);
return $mapper->findOne($params);
}
}
Базовая служба
<?php
namespace data\service;
class riskservice extends service
{
protected function _getMapper()
{
$db = $this->db()->getHandle();
return new \data\mapper\risks($db);
}
public function findOne($id)
{
$mapper = $this->_getMapper();
$params = array('risk' => $id);
return $mapper->findOne($params);
}
}