当前位置: 首页>>代码示例>>PHP>>正文


PHP jUrl::getParam方法代码示例

本文整理汇总了PHP中jUrl::getParam方法的典型用法代码示例。如果您正苦于以下问题:PHP jUrl::getParam方法的具体用法?PHP jUrl::getParam怎么用?PHP jUrl::getParam使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在jUrl的用法示例。


在下文中一共展示了jUrl::getParam方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: create

 /**
  * Create a jurl object with the given action data
  * @param jUrlAction $url  information about the action
  * @return jUrl the url correspondant to the action
  * @author      Laurent Jouanneau
  * @copyright   2005 CopixTeam, 2005-2006 Laurent Jouanneau
  *   very few lines of code are copyrighted by CopixTeam, written by Laurent Jouanneau
  *   and released under GNU Lesser General Public Licence,
  *   in an experimental version of Copix Framework v2.3dev20050901,
  *   http://www.copix.org.
  */
 public function create($urlact)
 {
     if ($this->dataCreateUrl == null) {
         $sel = new jSelectorUrlCfgSig(jApp::config()->urlengine['significantFile']);
         jIncluder::inc($sel);
         $this->dataCreateUrl =& $GLOBALS['SIGNIFICANT_CREATEURL'];
     }
     $url = new jUrl('', $urlact->params, '');
     $module = $url->getParam('module', jApp::getCurrentModule());
     $action = $url->getParam('action');
     // let's try to retrieve informations corresponding
     // to the given action. this informations will allow us to build
     // the url
     $id = $module . '~' . $action . '@' . $urlact->requestType;
     $urlinfo = null;
     if (isset($this->dataCreateUrl[$id])) {
         $urlinfo = $this->dataCreateUrl[$id];
         $url->delParam('module');
         $url->delParam('action');
     } else {
         $id = $module . '~*@' . $urlact->requestType;
         if (isset($this->dataCreateUrl[$id])) {
             $urlinfo = $this->dataCreateUrl[$id];
             if ($urlinfo[0] != 3 || $urlinfo[3] === true) {
                 $url->delParam('module');
             }
         } else {
             $id = '@' . $urlact->requestType;
             if (isset($this->dataCreateUrl[$id])) {
                 $urlinfo = $this->dataCreateUrl[$id];
             } else {
                 throw new Exception("Significant url engine doesn't find corresponding url to this action :" . $module . '~' . $action . '@' . $urlact->requestType);
             }
         }
     }
     /*
     urlinfo =
       or array(0,'entrypoint', https true/false, 'handler selector', 'basepathinfo')
       or array(1,'entrypoint', https true/false,
               array('year','month',), // list of dynamic values included in the url
               array(true, false..), // list of integers which indicates for each
                                     // dynamic value: 0: urlencode, 1:urlencode except '/', 2:escape
               "/news/%1/%2/", // the url
               true/false, // false : this is a secondary action
               array('bla'=>'whatIWant' ) // list of static values
               )
       or array(2,'entrypoint', https true/false), // for the patterns "@request"
       or array(3,'entrypoint', https true/false), // for the patterns "module~@request"
       or array(4, array(1,...), array(1,...)...)
     */
     if ($urlinfo[0] == 4) {
         // an action is mapped to several urls
         // so it isn't finished. Let's find building information
         // into the array
         $l = count($urlinfo);
         $urlinfofound = null;
         for ($i = 1; $i < $l; $i++) {
             $ok = true;
             // verify that given static parameters of the action correspond
             // to those defined for this url
             foreach ($urlinfo[$i][7] as $n => $v) {
                 // specialStatic are static values for which the url engine
                 // can compare not only with a given url parameter value, but
                 // also with a value stored some where (typically, a configuration value)
                 $specialStatic = !empty($v) && $v[0] == '$';
                 $paramStatic = $url->getParam($n, null);
                 if ($specialStatic) {
                     // special statique value
                     $typePS = $v[1];
                     $v = substr($v, 2);
                     if ($typePS == 'l') {
                         if ($paramStatic === null) {
                             $paramStatic = jLocale::getCurrentLang();
                         } else {
                             if (preg_match('/^(\\w{2,3})_\\w{2,3}$/', $paramStatic, $m)) {
                                 // if the value is a locale instead of lang, translate it
                                 $paramStatic = $m[1];
                             }
                         }
                     } elseif ($typePS == 'L') {
                         if ($paramStatic === null) {
                             $paramStatic = jApp::config()->locale;
                         } else {
                             if (preg_match('/^\\w{2,3}$/', $paramStatic, $m)) {
                                 // if the value is a lang instead of locale, translate it
                                 $paramStatic = jLocale::langToLocale($paramStatic);
                             }
                         }
                     }
//.........这里部分代码省略.........
开发者ID:medali1990,项目名称:medsite,代码行数:101,代码来源:significant.urls.php

示例2: buildWithSpecificPathinfo

 /**
  * @param array $urlinfo
  *                       array(1,'entrypoint', https true/false,
  *                       array('year','month',), // list of dynamic values included in the url
  *                       array(true, false..), // list of integers which indicates for each
  *                       // dynamic value: 0: urlencode, 1:urlencode except '/', 2:escape
  *                       "/news/%1/%2/", // the url
  *                       true/false, // false : this is a secondary action
  *                       array('bla'=>'whatIWant' ) // list of static values
  *                       )
  */
 protected function buildWithSpecificPathinfo(\jUrlAction $urlact, \jUrl $url, $urlinfo)
 {
     $pi = $urlinfo[5];
     foreach ($urlinfo[3] as $k => $param) {
         $escape = $urlinfo[4][$k];
         $value = $url->getParam($param, '');
         if ($escape & self::ESCAPE_NON_ASCII) {
             $value = \jUrl::escape($value, true);
         } elseif ($escape & self::ESCAPE_SLASH) {
             $value = str_replace('%2F', '/', urlencode($value));
         } elseif ($escape & self::ESCAPE_LANG) {
             if ($value == '') {
                 $value = Locale::getCurrentLang();
             } elseif (preg_match('/^(\\w{2,3})_\\w{2,3}$/', $value, $m)) {
                 $value = $m[1];
             }
         } elseif ($escape & self::ESCAPE_LOCALE) {
             if ($value == '') {
                 $value = App::config()->locale;
             } elseif (preg_match('/^\\w{2,3}$/', $value, $m)) {
                 $value = Locale::langToLocale($value);
             }
         } else {
             $value = urlencode($value);
         }
         $pi = str_replace(':' . $param, $value, $pi);
         $url->delParam($param);
     }
     $url->pathInfo = $pi != '/' ? $pi : '';
     if ($urlinfo[6]) {
         $url->setParam('action', $urlact->getParam('action'));
     }
     // removed parameters corresponding to static values
     foreach ($urlinfo[7] as $name => $value) {
         $url->delParam($name);
     }
 }
开发者ID:mdouchin,项目名称:jelix,代码行数:48,代码来源:UrlActionMapper.php

示例3: create

 /**
  * Create a jurl object with the given action data
  * @param jUrlAction $url  information about the action
  * @return jUrl the url correspondant to the action
  * @author      Laurent Jouanneau
  * @copyright   2005 CopixTeam, 2005-2006 Laurent Jouanneau
  *   very few lines of code are copyrighted by CopixTeam, written by Laurent Jouanneau
  *   and released under GNU Lesser General Public Licence,
  *   in an experimental version of Copix Framework v2.3dev20050901,
  *   http://www.copix.org.
  */
 public function create($urlact)
 {
     if ($this->dataCreateUrl == null) {
         $sel = new jSelectorUrlCfgSig($GLOBALS['gJConfig']->urlengine['significantFile']);
         jIncluder::inc($sel);
         $this->dataCreateUrl =& $GLOBALS['SIGNIFICANT_CREATEURL'];
     }
     /*
     a) recupere module~action@request -> obtient les infos pour la creation de l'url
     b) récupère un à un les parametres indiqués dans params à partir de jUrl
     c) remplace la valeur récupérée dans le result et supprime le paramètre de l'url
     d) remplace scriptname de jUrl par le resultat
     */
     $url = new jUrl('', $urlact->params, '');
     $module = $url->getParam('module', jContext::get());
     $action = $url->getParam('action');
     $id = $module . '~' . $action . '@' . $urlact->requestType;
     $urlinfo = null;
     if (isset($this->dataCreateUrl[$id])) {
         $urlinfo = $this->dataCreateUrl[$id];
         $url->delParam('module');
         $url->delParam('action');
     } else {
         $id = $module . '~*@' . $urlact->requestType;
         if (isset($this->dataCreateUrl[$id])) {
             $urlinfo = $this->dataCreateUrl[$id];
             $url->delParam('module');
         } else {
             $id = '@' . $urlact->requestType;
             if (isset($this->dataCreateUrl[$id])) {
                 $urlinfo = $this->dataCreateUrl[$id];
             } else {
                 throw new Exception("Significant url engine doesn't find corresponding url to this action :" . $module . '~' . $action . '@' . $urlact->requestType);
             }
         }
     }
     /*
     urlinfo =
         array(0,'entrypoint', https true/false,'selecteur handler')
         ou
         array(1,'entrypoint', https true/false, 
                 array('annee','mois','jour','id','titre'), // liste des paramètres de l'url à prendre en compte
                 array(true, false..), // valeur des escapes
                 "/news/%1/%2/%3/%4-%5", // forme de l'url
                 false, //indique si  c'est une action surchargeante
                 )
         ou
         array(2,'entrypoint', https true/false,); pour les clés du type "@request"
         array(3,'entrypoint', https true/false); pour les clés du type "module~@request"
         array(4, array(1,..), array(1,..)...);
     */
     if ($urlinfo[0] == 4) {
         $l = count($urlinfo);
         $urlinfofound = null;
         for ($i = 1; $i < $l; $i++) {
             $ok = true;
             foreach ($urlinfo[$i][7] as $n => $v) {
                 if ($url->getParam($n, '') != $v) {
                     $ok = false;
                     break;
                 }
             }
             if ($ok) {
                 $urlinfofound = $urlinfo[$i];
                 break;
             }
         }
         if ($urlinfofound !== null) {
             $urlinfo = $urlinfofound;
         } else {
             $urlinfo = $urlinfo[1];
         }
     }
     $url->scriptName = $GLOBALS['gJConfig']->urlengine['basePath'] . $urlinfo[1];
     if ($urlinfo[2]) {
         $url->scriptName = 'https://' . $_SERVER['HTTP_HOST'] . $url->scriptName;
     }
     if ($urlinfo[1] && !$GLOBALS['gJConfig']->urlengine['multiview']) {
         $url->scriptName .= $GLOBALS['gJConfig']->urlengine['entrypointExtension'];
     }
     // pour certains types de requete, les paramètres ne sont pas dans l'url
     // donc on les supprime
     // c'est un peu crade de faire ça en dur ici, mais ce serait lourdingue
     // de charger la classe request pour savoir si on peut supprimer ou pas
     if (in_array($urlact->requestType, array('xmlrpc', 'jsonrpc', 'soap'))) {
         $url->clearParam();
         return $url;
     }
     if ($urlinfo[0] == 0) {
//.........这里部分代码省略.........
开发者ID:alienpham,项目名称:helenekling,代码行数:101,代码来源:significant.urls.php

示例4: create

 /**
  * Create a jurl object with the given action data
  * @param jUrlAction $url  information about the action
  * @return jUrl the url correspondant to the action
  * @author      Laurent Jouanneau
  * @copyright   2005 CopixTeam, 2005-2006 Laurent Jouanneau
  *   very few lines of code are copyrighted by CopixTeam, written by Laurent Jouanneau
  *   and released under GNU Lesser General Public Licence,
  *   in an experimental version of Copix Framework v2.3dev20050901,
  *   http://www.copix.org.
  */
 public function create($urlact)
 {
     if ($this->dataCreateUrl == null) {
         $sel = new jSelectorUrlCfgSig($GLOBALS['gJConfig']->urlengine['significantFile']);
         jIncluder::inc($sel);
         $this->dataCreateUrl =& $GLOBALS['SIGNIFICANT_CREATEURL'];
     }
     $url = new jUrl('', $urlact->params, '');
     $module = $url->getParam('module', jContext::get());
     $action = $url->getParam('action');
     // let's try to retrieve informations corresponding
     // to the given action. this informations will allow us to build
     // the url
     $id = $module . '~' . $action . '@' . $urlact->requestType;
     $urlinfo = null;
     if (isset($this->dataCreateUrl[$id])) {
         $urlinfo = $this->dataCreateUrl[$id];
         $url->delParam('module');
         $url->delParam('action');
     } else {
         $id = $module . '~*@' . $urlact->requestType;
         if (isset($this->dataCreateUrl[$id])) {
             $urlinfo = $this->dataCreateUrl[$id];
             if ($urlinfo[0] != 3 || $urlinfo[3] === true) {
                 $url->delParam('module');
             }
         } else {
             $id = '@' . $urlact->requestType;
             if (isset($this->dataCreateUrl[$id])) {
                 $urlinfo = $this->dataCreateUrl[$id];
             } else {
                 throw new Exception("Significant url engine doesn't find corresponding url to this action :" . $module . '~' . $action . '@' . $urlact->requestType);
             }
         }
     }
     /*
     urlinfo =
       or array(0,'entrypoint', https true/false, 'handler selector', 'basepathinfo')
       or array(1,'entrypoint', https true/false,
               array('year','month',), // list of dynamic values included in the url
               array(true, false..), // list of integers which indicates for each
                                     // dynamic value: 0: urlencode, 1:urlencode except '/', 2:escape
               "/news/%1/%2/", // the url
               true/false, // false : this is a secondary action
               array('bla'=>'whatIWant' ) // list of static values
               )
       or array(2,'entrypoint', https true/false), // for the patterns "@request"
       or array(3,'entrypoint', https true/false), // for the patterns "module~@request"
       or array(4, array(1,...), array(1,...)...)
     */
     if ($urlinfo[0] == 4) {
         // an action is mapped to several urls
         // so it isn't finished. Let's find building information
         // into the array
         $l = count($urlinfo);
         $urlinfofound = null;
         for ($i = 1; $i < $l; $i++) {
             $ok = true;
             // verify that given static parameters of the action correspond
             // to those defined for this url
             foreach ($urlinfo[$i][7] as $n => $v) {
                 if ($url->getParam($n, '') != $v) {
                     $ok = false;
                     break;
                 }
             }
             if ($ok) {
                 // static parameters correspond: we found our informations
                 $urlinfofound = $urlinfo[$i];
                 break;
             }
         }
         if ($urlinfofound !== null) {
             $urlinfo = $urlinfofound;
         } else {
             $urlinfo = $urlinfo[1];
         }
     }
     // at this step, we have informations to build the url
     $url->scriptName = $GLOBALS['gJConfig']->urlengine['basePath'] . $urlinfo[1];
     if ($urlinfo[2]) {
         $url->scriptName = $GLOBALS['gJCoord']->request->getServerURI(true) . $url->scriptName;
     }
     if ($urlinfo[1] && !$GLOBALS['gJConfig']->urlengine['multiview']) {
         $url->scriptName .= $GLOBALS['gJConfig']->urlengine['entrypointExtension'];
     }
     // pour certains types de requete, les paramètres ne sont pas dans l'url
     // donc on les supprime
     // c'est un peu crade de faire ça en dur ici, mais ce serait lourdingue
//.........这里部分代码省略.........
开发者ID:hadrienl,项目名称:jelix,代码行数:101,代码来源:significant.urls.php

示例5: create

 public function create($urlact)
 {
     if ($this->dataCreateUrl == null) {
         $sel = new jSelectorUrlCfgSig(jApp::config()->urlengine['significantFile']);
         jIncluder::inc($sel);
         $this->dataCreateUrl =& $GLOBALS['SIGNIFICANT_CREATEURL'];
     }
     $url = new jUrl('', $urlact->params, '');
     $module = $url->getParam('module', jContext::get());
     $action = $url->getParam('action');
     $id = $module . '~' . $action . '@' . $urlact->requestType;
     $urlinfo = null;
     if (isset($this->dataCreateUrl[$id])) {
         $urlinfo = $this->dataCreateUrl[$id];
         $url->delParam('module');
         $url->delParam('action');
     } else {
         $id = $module . '~*@' . $urlact->requestType;
         if (isset($this->dataCreateUrl[$id])) {
             $urlinfo = $this->dataCreateUrl[$id];
             if ($urlinfo[0] != 3 || $urlinfo[3] === true) {
                 $url->delParam('module');
             }
         } else {
             $id = '@' . $urlact->requestType;
             if (isset($this->dataCreateUrl[$id])) {
                 $urlinfo = $this->dataCreateUrl[$id];
             } else {
                 throw new Exception("Significant url engine doesn't find corresponding url to this action :" . $module . '~' . $action . '@' . $urlact->requestType);
             }
         }
     }
     if ($urlinfo[0] == 4) {
         $l = count($urlinfo);
         $urlinfofound = null;
         for ($i = 1; $i < $l; $i++) {
             $ok = true;
             foreach ($urlinfo[$i][7] as $n => $v) {
                 $specialStatic = $v[0] == '$';
                 $paramStatic = $url->getParam($n, null);
                 if ($specialStatic) {
                     $typePS = $v[1];
                     $v = substr($v, 2);
                     if ($typePS == 'l') {
                         if ($paramStatic === null) {
                             $paramStatic = jLocale::getCurrentLang();
                         } else {
                             if (preg_match('/^(\\w{2,3})_\\w{2,3}$/', $paramStatic, $m)) {
                                 $paramStatic = $m[1];
                             }
                         }
                     } elseif ($typePS == 'L') {
                         if ($paramStatic === null) {
                             $paramStatic = jApp::config()->locale;
                         } else {
                             if (preg_match('/^\\w{2,3}$/', $paramStatic, $m)) {
                                 $paramStatic = jLocale::langToLocale($paramStatic);
                             }
                         }
                     }
                 }
                 if ($paramStatic != $v) {
                     $ok = false;
                     break;
                 }
             }
             if ($ok) {
                 $urlinfofound = $urlinfo[$i];
                 break;
             }
         }
         if ($urlinfofound !== null) {
             $urlinfo = $urlinfofound;
         } else {
             $urlinfo = $urlinfo[1];
         }
     }
     $url->scriptName = jApp::config()->urlengine['basePath'] . $urlinfo[1];
     if ($urlinfo[2]) {
         $url->scriptName = jApp::coord()->request->getServerURI(true) . $url->scriptName;
     }
     if ($urlinfo[1] && !jApp::config()->urlengine['multiview']) {
         $url->scriptName .= jApp::config()->urlengine['entrypointExtension'];
     }
     if (in_array($urlact->requestType, array('xmlrpc', 'jsonrpc', 'soap'))) {
         $url->clearParam();
         return $url;
     }
     if ($urlinfo[0] == 0) {
         $s = new jSelectorUrlHandler($urlinfo[3]);
         $c = $s->resource . 'UrlsHandler';
         $handler = new $c();
         $handler->create($urlact, $url);
         if ($urlinfo[4] != '') {
             $url->pathInfo = $urlinfo[4] . $url->pathInfo;
         }
     } elseif ($urlinfo[0] == 1) {
         $pi = $urlinfo[5];
         foreach ($urlinfo[3] as $k => $param) {
             $typeParam = $urlinfo[4][$k];
//.........这里部分代码省略.........
开发者ID:havefnubb,项目名称:havefnubb,代码行数:101,代码来源:significant.urls.php


注:本文中的jUrl::getParam方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。