Source for file Ethna_Plugin_Urlhandler.php

Documentation is available at Ethna_Plugin_Urlhandler.php

  1. <?php
  2. // vim: foldmethod=marker tabstop=4 shiftwidth=4 autoindent
  3. /**
  4.  *  Ethna_Plugin_Urlhandler.php
  5.  *
  6.  *  @author     Masaki Fujimoto <fujimoto@php.net>
  7.  *  @license    http://www.opensource.org/licenses/bsd-license.php The BSD License
  8.  *  @package    Ethna
  9.  *  @version    $Id$
  10.  */
  11.  
  12. // {{{ Ethna_Plugin_Urlhandler
  13. /**
  14.  *  Urlhandlerプラグインの基底クラス
  15.  *
  16.  *  @author     Masaki Fujimoto <fujimoto@php.net>
  17.  *  @access     public
  18.  *  @package    Ethna
  19.  */
  20. {
  21.     /**#@+
  22.      *  @access private
  23.      */
  24.  
  25.     /** @var    object  Ethna_Backend   backendオブジェクト */
  26.     var $backend;
  27.  
  28.     /** @var    object  Ethna_Logger    ログオブジェクト */
  29.     var $logger;
  30.  
  31.     /**#@-*/
  32.  
  33.     /**
  34.      *  Ethna_Plugin_Urlhandlerクラスのコンストラクタ
  35.      *
  36.      *  @access public
  37.      *  @param  object  Ethna_Controller    $controller コントローラオブジェクト
  38.      */
  39.     function Ethna_Plugin_Urlhandler(&$controller)
  40.     {
  41.         $this->backend =$controller->getBackend();
  42.         $this->logger =$controller->getLogger();
  43.     }
  44.  
  45.     /**
  46.      *  アクションをユーザリクエストに変換する
  47.      *
  48.      *  @param string $action 
  49.      *  @param array $param 
  50.      *  @access public
  51.      *  @return array array($path_string, $path_key)
  52.      */
  53.     function actionToRequest($action$param)
  54.     {
  55.         die('override!');
  56.     }
  57.  
  58.     /**
  59.      *  ユーザリクエストをアクションに変換する
  60.      *
  61.      *  @param array $http_vars 
  62.      *  @access public
  63.      *  @return array $http_vars with 'action_foobar' => 'true' element.
  64.      */
  65.     function requestToAction($http_vars)
  66.     {
  67.         die('override!');
  68.     }
  69.  
  70.     /**
  71.      *  アクションをリクエストパラメータに変換する
  72.      *
  73.      *  @access public
  74.      *  @param array $http_vars 
  75.      *  @param string $action 
  76.      *  @return $http_vars with 'action_foobar' element.
  77.      */
  78.     function buildActionParameter($http_vars$action)
  79.     {
  80.         if ($action == ""{
  81.             return $http_vars;
  82.         }
  83.         $key sprintf('action_%s'$action);
  84.         $http_vars[$key'true';
  85.         return $http_vars;
  86.     }
  87.  
  88.     /**
  89.      *  パラメータをURLに変換する
  90.      *
  91.      *  @access public
  92.      *  @param array $query query list
  93.      *  @return string query string
  94.      */
  95.     function buildQueryParameter($query)
  96.     {
  97.         $param '';
  98.  
  99.         foreach ($query as $key => $value{
  100.             if (is_array($value)) {
  101.                 foreach ($value as $k => $v{
  102.                     if (is_numeric($k)) {
  103.                         $k '';
  104.                     }
  105.                     $param .= sprintf('%s=%s&',
  106.                                       urlencode(sprintf('%s[%s]'$key$k)),
  107.                                       urlencode($v));
  108.                 }
  109.             else if (is_null($value== false{
  110.                 $param .= sprintf('%s=%s&'urlencode($key)urlencode($value));
  111.             }
  112.         }
  113.  
  114.         return substr($param0-1);
  115.     }
  116. }
  117. // }}}
  118.  
  119. ?>

Documentation generated on Fri, 11 Nov 2011 04:00:38 +0900 by phpDocumentor 1.4.3