どーも!marusukeです!
前回の記事(【Laminas】リポジトリクラスのリファクタリングとfindPostメソッドを実装する!)で更新したLaminasDbSqlRepositoryクラスに新しい引数を渡すために、LaminasDbSqlRepositoryFactoryクラスの内容を変更します!
LaminasDbSqlRepositoryFactoryクラスを変更する!
【Laminas】リポジトリクラスのファクトリを作る!の記事で作成したLaminasDbSqlRepositoryFactoryクラスを更新します。
LaminasDbSqlRepositoryクラスが新たに以下2つ引数を必要とするため、LaminasDbSqlRepositoryFactoryクラスに追加します。
- ReflectionHydrator
- Post
以下の内容に変更します。
/module/Blog/src/Factory/LaminasDbSqlRepositoryFactory.php
namespace Blog\Factory;
use Interop\Container\ContainerInterface
use Blog\Model\Post;
use Blog\Model\LaminasDbSqlRepository;
use Laminas\Db\Adapter\AdapterInterface;
use Laminas\Hydrator\ReflectionHydrator;
use Laminas\ServiceManager\Factory\FactoryInterface;
class LaminasDbSqlRepositoryFactory implements FactoryInterface
{
public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
{
return new LaminasDbSqlRepository(
$container->get(AdapterInterface::class),
new ReflectionHydrator(),
new Post('', '')
);
}
}
これで、LaminasDbSqlRepositoryクラスに新たな引数を渡しインスタンス化するファクトリークラスが完成しました!
お疲れ様でした!
次の記事は、データベースから取得したPostデータをブラウザ上に表示するためのルートを設定します!
コメント