"PHP" / Говнокод #3900 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
// берет запрос и делает из него массив
	public function requestUri() {
		if (isset($_SERVER['REQUEST_URI'])) {
			$uri = $_SERVER['REQUEST_URI'];
		}
		else {
			if (isset($_SERVER['argv'])) {
				$uri = $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['argv'][0];
			}
			elseif (isset($_SERVER['QUERY_STRING'])) {
				$uri = $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['QUERY_STRING'];
			}
			else {
				$uri = $_SERVER['SCRIPT_NAME'];
			}
		}
		// Prevent multiple slashes to avoid cross site requests via the FAPI.
		$uri = trim($uri, '/');
		$arr = explode('/', $uri);
		$this->queryArr = array();
		foreach($arr as $val) {
			$val = trim($val);
			if($val != '') $this->queryArr[] = $val;
		}

		return $uri;
	}

Такая вот реализация разбора "красивого" uri

Запостил: rudolff rudolff, (Updated )

Комментарии (6) RSS

  • строчка 8 - шедевр. я бы не додумался.
    правда пользы от метода ровно столько, сколько от строчки return $_SERVER['REQUEST_URI'];
    Ответить
        • REQUEST_URI не передается в скрипт если оный обрабатывается не модулем апача, а cgi версией php, да притом под каким-нибудь другим сервером, например lighttpd
          Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8