80 lines
1.8 KiB
PHP
80 lines
1.8 KiB
PHP
|
<?php
|
||
|
|
||
|
|
||
|
namespace Nextend\Framework\Pattern;
|
||
|
|
||
|
|
||
|
use Nextend\Framework\Application\AbstractApplication;
|
||
|
use Nextend\Framework\Application\AbstractApplicationType;
|
||
|
use Nextend\Framework\Router\Router;
|
||
|
|
||
|
trait MVCHelperTrait {
|
||
|
|
||
|
/** @var MVCHelperTrait */
|
||
|
protected $MVCHelper;
|
||
|
|
||
|
/**
|
||
|
* @return Router
|
||
|
*/
|
||
|
public function getRouter() {
|
||
|
return $this->MVCHelper->getRouter();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param array|string $url
|
||
|
* @param bool $isPost
|
||
|
* @param bool $isAjax
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public function createUrl($url, $isPost = false, $isAjax = false) {
|
||
|
return $this->MVCHelper->getRouter()
|
||
|
->createUrl($url, $isPost, $isAjax);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param array|string $url
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public function createAjaxUrl($url) {
|
||
|
return $this->MVCHelper->getRouter()
|
||
|
->createAjaxUrl($url);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return AbstractApplication
|
||
|
*/
|
||
|
public function getApplication() {
|
||
|
|
||
|
return $this->MVCHelper->getApplication();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return AbstractApplicationType
|
||
|
*/
|
||
|
public function getApplicationType() {
|
||
|
return $this->MVCHelper->getApplicationType();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param MVCHelperTrait $helper
|
||
|
*
|
||
|
*/
|
||
|
protected function setMVCHelper($helper) {
|
||
|
$this->MVCHelper = $helper;
|
||
|
|
||
|
if (!method_exists($helper, 'getRouter') || !method_exists($helper, 'getApplication') || !method_exists($helper, 'getApplicationType')) {
|
||
|
debug_print_backtrace();
|
||
|
echo 'Object should has MVCHelperTrait';
|
||
|
exit;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return MVCHelperTrait
|
||
|
*/
|
||
|
public function getMVCHelper() {
|
||
|
return $this->MVCHelper;
|
||
|
}
|
||
|
}
|