2 つのモジュールで使用されるモデルがあります。そのモデルのコードを各モジュールに複製したくありません。
たとえば、2 つのモジュールがあります。最初はモデルからブログ投稿を取得し、通常のユーザー向けにそれらを印刷し、もう 1 つは管理者向けにそれらを印刷しますが、さらにいくつかのオプション (ビューで設定) を使用します。同じモデルを 2 か所に配置します。そして..それは悪いです。
ほんの一部のコード:
<?php
namespace Blog\Model;
use Zend\Db\Adapter\Adapter;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\TableGateway\AbstractTableGateway;
class BlogTable extends AbstractTableGateway
{
protected $table = 'blog_posts';
public function __construct(Adapter $adapter)
{
$this->adapter = $adapter;
$this->initialize();
}
/**
* Gets the blog post list
*
* @return array
**/
public function fetchAll()
{
//..
}
}
では、このアプリケーションをどのように設計すればよいでしょうか?