42 lines
1.3 KiB
PHP
42 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers\Ecommerce;
|
|
|
|
use App\Controllers\BaseController;
|
|
use App\Models\OrderModel;
|
|
use App\Models\ProductModel;
|
|
use App\Models\UserModel;
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
abstract class EcommerceController extends BaseController
|
|
{
|
|
private $_userModel = null;
|
|
private $_orderModel = null;
|
|
private $_productModel = null;
|
|
protected $_session = null;
|
|
protected $_viewPath = '';
|
|
protected $_viewDatas = array();
|
|
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
|
{
|
|
parent::initController($request, $response, $logger);
|
|
$this->_session = \Config\Services::session();
|
|
$this->_viewPath = 'ecommerce/';
|
|
$this->_viewDatas['control'] = 'front';
|
|
$this->_viewDatas['layout'] = LAYOUTS['front'];
|
|
}
|
|
final protected function getUserModel()
|
|
{
|
|
return $this->_userModel = $this->_userModel ?: new UserModel();
|
|
}
|
|
final protected function getOrderModel()
|
|
{
|
|
return $this->_orderModel = $this->_orderModel ?: new OrderModel();
|
|
}
|
|
final protected function getProductModel()
|
|
{
|
|
return $this->_productModel = $this->_productModel ?: new ProductModel();
|
|
}
|
|
}
|