Zend または私は、このフレームワーク全体の概念は私にとって新しいものだと言います。いくつかの例は、Module.php でそのコントローラーに関連するテーブルの名前を定義する tablegateway 形式に基づいています。
/* 'MYMODULE\Model\CompanyTable' => function($sm) {
$tableGateway = $sm->get('CompanyTableGateway');
$table = new CompanyTable($tableGateway);
return $table;
},
'CompanyTableGateway' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new Company());
return new TableGateway('rs_company', $dbAdapter, null, $resultSetPrototype);
},*/
また、他の例では、Module.php に 3 行のコードしかなく、アダプターについて説明し、__constuct() を介して初期化しています。
'MYMODULE\Model\CompanyTable' => function($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$table = new CompanyTable($dbAdapter);
return $table;
},
そしてクラス __construc() で
public function __construct(Adapter $adapter) {
$this->adapter = $adapter;
$this->resultSetPrototype = new ResultSet();
$this->resultSetPrototype->setArrayObjectPrototype(new Company());
$this->initialize();
}
私が理解できないのは、それらの両方から選択する方法です。