前阵子,我问了一个关于API中心应用程序的应用程序目录结构的问题,有关应用程序目录结构的问题。
Organizing directory structure of an API centric web application
随着我的应用程序的增长以及我的数据库可以看到更多的表,我面临的结构是数据库中每个模型一个控制器,每个表一个模型。每个模型只有一个控制器是有效的方法吗?
添加更多表时如何管理应用程序的大小?
控制器
<?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);
}
}