我正在嘗試使用zend表現力,看着如何做數據庫的東西。我在看this,但目前還不清楚。我使用composer來安裝zend-db,它提到在dependencies.global.php中添加一行,然後在工廠類中使用容器來獲取適配器,但之後沒有討論如何在實際操作類中訪問它由於適配器對象超出了其他類的範圍,我不知道發生了什麼。zend expressive - zend db
任何人都有從開始到結束的良好和明確的例子,實際上能夠連接和查詢SQL?
我正在嘗試使用zend表現力,看着如何做數據庫的東西。我在看this,但目前還不清楚。我使用composer來安裝zend-db,它提到在dependencies.global.php中添加一行,然後在工廠類中使用容器來獲取適配器,但之後沒有討論如何在實際操作類中訪問它由於適配器對象超出了其他類的範圍,我不知道發生了什麼。zend expressive - zend db
任何人都有從開始到結束的良好和明確的例子,實際上能夠連接和查詢SQL?
嘗試通過廠注入你的DB類,遵循例如在骨架的應用程序,你可以做這樣的事情:
HomePageFactory.php
public function __invoke(ContainerInterface $container)
{
$router = $container->get(RouterInterface::class);
$template = $container->has(TemplateRendererInterface::class) ? $container->get(TemplateRendererInterface::class) : null;
$adapter = $container->get(Adapter::class);
$usersTable = $container->get(Table\UsersTable::class);
return new HomePageAction($router, $template,$adapter,$usersTable);
}
HomePageAction.php
class HomePageAction implements ServerMiddlewareInterface
{
/**
* @var Router\RouterInterface
*/
private $router;
/**
* @var null|Template\TemplateRendererInterface
*/
private $template;
/**
* @var Adapter
*/
private $dbAdapter;
/**
* @var UsersTable
*/
private $usersTable;
/**
* HomePageAction constructor.
* @param Router\RouterInterface $router
* @param Template\TemplateRendererInterface|null $template
* @param Adapter $adapter
* @param UsersTable $usersTable
*/
public function __construct(Router\RouterInterface $router, Template\TemplateRendererInterface $template = null, Adapter $adapter, Table\UsersTable $usersTable)
{
$this->router = $router;
$this->template = $template;
$this->dbAdapter = $adapter;
$this->usersTable = $usersTable;
}
上,你有你的配置提供商你的桌子必須配置依賴作爲工廠EX:
'factories' => [
Table\UsersTable::class => function($container) {
$dbAdapter = $container->get(AdapterInterface::class);
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new Model\Users());
$tableGateway = new TableGateway('users', $dbAdapter, null, $resultSetPrototype);
return new Table\UsersTable($tableGateway);
},
],
你有沒有得到任何例子來整合Zend/D b最後有表現力嗎?這可能會有所幫助,因爲我也在爲同一主題奮鬥。 – Leo