phplibrary/core/shortcut.php
2016-06-29 18:51:32 +03:00

58 lines
No EOL
1.2 KiB
PHP

<?php
/**
* Êëàññ äëÿ êîðîòêîãî äîñòóïà ê ôàéëàì / ïàïêàì
*/
class Shortcut
{
static $instance = null;
public $variables = array();
public $list = array();
// Singleton pattern
static public function getInstance ()
{
if (self::$instance == null) {
self::$instance = new Shortcut();
}
return self::$instance;
}
/**
* Äîáàâëÿåò ÿðëûê ñ èìåíåì $prefix
* Ïóòü ìîæåò ñîäåðæàòü ïåðåìåííûå
*/
public function addUrl($prefix, $path)
{
$this->list [$prefix] = $path;
}
/**
*
*/
public function addVar($name, $value)
{
$this->variables['$' . $name] = $value;
}
/**
* Âîçâðàùàåò ïóòü ïî èìåíè ÿðëûêà
*/
static function getUrl ($prefix, $name = null, $name1 = false)
{
$shortcut = self::getInstance();
$names = $shortcut->variables;
if ($name) {
$names['$name'] = $name;
}
if ($name1) {
$names['$name1'] = $name1;
}
if (isset($shortcut->list[$prefix])) {
return strtr($shortcut->list[$prefix], $names);
}
return false;
}
}
?>