Advertisement
rex_kz

Route utils

May 29th, 2012
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.00 KB | None | 0 0
  1. <?php defined('SYSPATH') OR exit('<h3>Access forbidden</h3><hr/>');
  2.  
  3. /**
  4.  * Utility class
  5.  */
  6. class Utils {
  7.    
  8.     /**
  9.      * Генерирует URL по указанным параметрам. Может использоватеь минимальный набор параметров,
  10.      * недостающие берутся из текущего контекста.
  11.      * @param array $uri параметры
  12.      * @param string $routename имя маршрута, для которого будет генерироваться URL
  13.      * @return string Сгенерированный URL
  14.      */
  15.     public static function url(array $uri=array(), $routename = 'default')
  16.     {
  17.         $config = $uri + array(
  18.             'lang' => I18n::lang(),
  19.             'controller' => Request::current()->controller(),
  20.             'action' => Request::current()->action(),
  21.             'id' => Request::current()->param('id'),
  22.         );
  23.  
  24.         return Route::url($routename, $config);
  25.     }
  26.  
  27.     /**
  28.      * Генерирует URI по указанным параметрам. Может использовать минимальный набор параметров,
  29.      * недостающие берутся из текущего контекста.
  30.      * @param array $uri параметры
  31.      * @param string $routename имя маршрута, для которого будет генерироваться URL
  32.      * @return string Сгенерированный URI
  33.      */
  34.     public static function uri(array $uri = array(), $routename = 'default')
  35.     {
  36.         $config = $uri + array(
  37.             'lang' => I18n::lang(),
  38.             'controller' => Request::current()->controller(),
  39.             'action' => Request::current()->action(),
  40.             'id' => Request::current()->param('id'),
  41.         );
  42.  
  43.         return Route::get($routename)->uri($config);
  44.     }
  45.  
  46.     /**
  47.      * URL на начальную страницу
  48.      * @return string
  49.      */
  50.     public static function indexurl()
  51.     {
  52.         $config = array(
  53.             'lang' => I18n::lang(),
  54.             'controller' => '',
  55.             'action' => '',
  56.             'id' => '',
  57.         );
  58.  
  59.         return Route::url('default', $config);
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement