| Current Path : /proc/thread-self/root/var/tmp/ |
| Current File : //proc/thread-self/root/var/tmp/phpqKkaV7 |
<?php
namespace Nextend\Framework\Pattern;
use Nextend\Framework\Platform\Platform;
use Nextend\Framework\Url\Url;
trait GetAssetsPathTrait {
use GetPathTrait;
public static function getAssetsPath() {
return Platform::filterAssetsPath(self::getPath() . '/Assets');
}
public static function getAssetsUri() {
return Url::pathToUri(self::getAssetsPath());
}
}<?php
namespace Nextend\Framework\Pattern;
use ReflectionClass;
trait GetPathTrait {
public static function getPath() {
$reflection = new ReflectionClass(static::class);
return dirname($reflection->getFileName());
}
}<?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;
}
}<?php
namespace Nextend\Framework\Pattern;
trait OrderableTrait {
public function getOrdering() {
return isset($this->ordering) ? $this->ordering : 1000000;
}
/**
* @param OrderableTrait[] $items
*/
public static function uasort(&$items) {
uasort($items, array(
OrderableTrait::class,
'compare'
));
}
/**
* @param OrderableTrait $a
* @param OrderableTrait $b
*
* @return int
*/
public static function compare($a, $b) {
return $a->getOrdering() - $b->getOrdering();
}
}<?php
namespace Nextend\Framework\Pattern;
trait PluggableFactoryTrait {
use SingletonTrait;
private static $types = array();
public static function addType($name, $className) {
self::$types[$name] = $className;
}
public static function getType($name) {
if (isset(self::$types[$name])) {
return self::$types[$name];
}
return false;
}
public static function getTypes() {
return self::$types;
}
}