Middle.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace Qii\Request\Url;
  3. class Middle 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 (empty($params)) return;
  18. $argvArray = explode("/", $params);
  19. $data = array();
  20. if (is_array($argvArray)) {
  21. foreach ($argvArray AS $arg) {
  22. $args = explode("/", $arg);
  23. $data[$args[0]] = $args[1];
  24. }
  25. }
  26. foreach ($_GET AS $key => $val) {
  27. $data[$key] = $val;
  28. }
  29. return $data;
  30. }
  31. /**
  32. * 获取指定参数的值
  33. * @param array $urlArray 参数集合
  34. * @param string $k 指定参数
  35. */
  36. public function decodeArgs($urlArray, $k = '')
  37. {
  38. $this->checkMode($this->_mode);
  39. $urlArraySize = sizeof($urlArray);
  40. for ($i = 0; $i < $urlArraySize; $i = $i + 2) {
  41. if ($urlArray[$i + 1] == 'NULL') {
  42. continue;
  43. }
  44. $url[$urlArray[$i]] = $urlArray[$i + 1];
  45. }
  46. return $url;
  47. }
  48. }