Short.php 867 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace Qii\Request\Url;
  3. class Short extends Base implements Intf
  4. {
  5. public function __construct($mode)
  6. {
  7. parent::__construct($mode);
  8. }
  9. /**
  10. * 解析uri获取参数 => 值
  11. * @param string $params uri
  12. * @return array
  13. */
  14. public function parseArgs($params)
  15. {
  16. $this->checkMode($this->_mode);
  17. if ($params == '') return;
  18. $argvArray = explode("/", $params);
  19. $data = array();
  20. if (is_array($argvArray)) {
  21. foreach ($argvArray AS $arg) {
  22. $data[] = $arg;
  23. }
  24. }
  25. foreach ($_GET AS $key => $val) {
  26. $data[$key] = $val;
  27. }
  28. return $data;
  29. }
  30. /**
  31. * 获取指定参数的值
  32. * @param array $urlArray 参数集合
  33. * @param string $k 指定参数
  34. */
  35. public function decodeArgs($urlArray, $k = '')
  36. {
  37. $this->checkMode($this->_mode);
  38. if (!empty($k)) return $urlArray[$k] == 'NULL' ? '' : $urlArray[$k];
  39. return $urlArray;
  40. }
  41. }