Skip to content
Snippets Groups Projects
Commit 4c1efb97 authored by DewanaGustavus's avatar DewanaGustavus
Browse files

refactor: make controller render DRY

parent 187dd4cf
Branches
Tags
1 merge request!1Refactor folder structure
Showing
with 23 additions and 99 deletions
......@@ -20,4 +20,15 @@ class Controller{
require_once __DIR__. "/../models/$model.php";
return new $model();
}
protected function render($data = []) {
require __DIR__ . '/../views/Routes.php';
$className = static::class;
$fileName = str_replace('Controller', '', $className);
$folderName = $routes[$fileName];
$view = $this->view($folderName, $fileName, $data);
$view->render();
}
}
\ No newline at end of file
......@@ -40,15 +40,6 @@ class CartController extends Controller {
"productFileModel" => $productFileModel
];
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName, $data);
$view->render();
$this->render($data);
}
}
......@@ -21,13 +21,6 @@ class CategoryController extends Controller{
"pageLimit" => $this->pageLimit
];
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName, $data);
$view->render();
$this->render($data);
}
}
\ No newline at end of file
......@@ -59,13 +59,6 @@ class HomeController extends Controller{
"max-price" => $maxPrice
];
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName, $data);
$view->render();
$this->render($data);
}
}
\ No newline at end of file
......@@ -2,13 +2,6 @@
class NotFoundController extends Controller{
public function index() {
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName);
$view->render();
$this->render();
}
}
\ No newline at end of file
......@@ -7,14 +7,7 @@ class LoginController extends Controller{
exit();
}
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName);
$view->render();
$this->render();
}
public function post() {
......
......@@ -6,13 +6,6 @@ class LogoutController extends Controller{
throw new Exception("You are not allowed to view this page", 405);
}
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName);
$view->render();
$this->render();
}
}
\ No newline at end of file
......@@ -7,14 +7,7 @@ class RegisterController extends Controller{
exit();
}
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName);
$view->render();
$this->render();
}
public function post() {
......
......@@ -13,15 +13,7 @@ class AddProductController extends Controller{
$data = $categoryModel->getCategory()->fetch_all();
// print_r($data);
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName, $data);
$view->render();
$this->render($data);
}
public function post(){
......
......@@ -28,14 +28,7 @@ class EditProductController extends Controller{
'productFile' => $product_file
];
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName, $data);
$view->render();
$this->render($data);
}
public function post($id){
......
......@@ -24,13 +24,6 @@ class ProductController extends Controller{
'productFile' => $productFile
];
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName, $data);
$view->render();
$this->render($data);
}
}
\ No newline at end of file
......@@ -14,14 +14,7 @@ class EditProfileController extends Controller {
$data = $userModel->getCurrentUser();
}
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName, $data);
$view->render();
$this->render($data);
}
public function post() {
......
......@@ -17,13 +17,6 @@ class ProfileController extends Controller
$data = $userModel->getCurrentUser();
}
$dir = __DIR__;
$dir = explode("/", $dir);
$folderName = end($dir);
$className = get_class();
$fileName = str_replace('Controller', '', $className);
$view = $this->view($folderName, $fileName, $data);
$view->render();
$this->render($data);
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment