Module.php
namespace MyImageSlider; use Zend\ModuleManager\Feature\AutoloaderProviderInterface; use Zend\Mvc\MvcEvent; use MyImageSlider\Controller\Slider; use MyImageSlider\Model\MyImageSlider; use MyImageSlider\Model\MyImageSliderTable; use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\TableGateway; class Module implements AutoloaderProviderInterface { public function getAutoloaderConfig() { __DIR__ . '/autoload_classmap.php', ), // if we're in a namespace deeper than one level we need to fix the \ in the path ), ), ); } public function getConfig() { return include __DIR__ . '/config/module.config.php'; } public function getServiceConfig() { 'MyImageSlider\Model\MyImageSliderTable' => function($sm) { $tableGateway = $sm->get('MyImageSliderTableGateway'); $table = new MyImageSliderTable($tableGateway); return $table; }, 'MyImageSliderTableGateway' => function ($sm) { $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new MyImageSlider()); return new TableGateway('rotator', $dbAdapter, null, $resultSetPrototype); }, ), ); } public function onBootstrap(MvcEvent $e) { $this->e = $e; $this->ImageSlider($this->e); } public function ImageSlider($e) { $viewModel = $e->getViewModel(); $slider = new Slider(); $viewModel->setVariable('ImageSlider', $slider->images); } }
Controller/Slider.php
namespace MyImageSlider\Controller; use Zend\Mvc\Controller\AbstractActionController; class Slider extends AbstractActionController { public $images; protected $imageTable; public function getImageTable() { if (!$this->imageTable) { $sm = $this->getServiceLocator(); $this->imageTable = $sm->get('MyImageSlider\Model\MyImageSliderTable'); } return $this->imageTable; } public function __construct() { $this->images = $this->getImageTable()->fetchAll(); } }
Model/MyImageSlider.php
namespace MyImageSlider\Model; class MyImageSlider { public $id; public $imgSrc; public $desc; public function exchangeArray($data) { } }
Model/MyImageSliderTable.php
namespace MyImageSlider\Model; use Zend\Db\TableGateway\TableGateway; class MyImageSliderTable { protected $tableGateway; public function __construct(TableGateway $tableGateway) { $this->tableGateway = $tableGateway; } public function fetchAll() { $resultSet = $this->tableGateway->select(); return $resultSet; } }