54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| 
 | |
| namespace Nextend\Framework\View;
 | |
| 
 | |
| 
 | |
| use Nextend\Framework\Controller\AbstractController;
 | |
| use Nextend\Framework\Pattern\GetPathTrait;
 | |
| use Nextend\Framework\Pattern\MVCHelperTrait;
 | |
| 
 | |
| abstract class AbstractView {
 | |
| 
 | |
|     use GetPathTrait;
 | |
|     use MVCHelperTrait;
 | |
| 
 | |
|     /** @var AbstractController */
 | |
|     protected $controller;
 | |
| 
 | |
|     /** @var AbstractLayout */
 | |
|     protected $layout;
 | |
| 
 | |
|     /**
 | |
|      * AbstractView constructor.
 | |
|      *
 | |
|      * @param AbstractController $controller
 | |
|      *
 | |
|      */
 | |
|     public function __construct($controller) {
 | |
|         $this->controller = $controller;
 | |
| 
 | |
|         $this->setMVCHelper($controller);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @param $templateName
 | |
|      *
 | |
|      * @return false|string output is a safe file, so nothing to escape.
 | |
|      */
 | |
|     protected function render($templateName) {
 | |
|         ob_start();
 | |
|         include self::getPath() . '/Template/' . $templateName . '.php';
 | |
| 
 | |
|         return ob_get_clean();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @return AbstractController
 | |
|      */
 | |
|     public function getController() {
 | |
|         return $this->controller;
 | |
|     }
 | |
| 
 | |
|     public abstract function display();
 | |
| } |