![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
Cześć,
Jako, że pracuję nad czymś co ma przypominać prosty framework (lol) napisalem klase do obsługi URL Kod <?php /** * Klasa Router - Przyjazne URLe * * Klasa pobierająca informacje ze zmiennej $_SERVER['PATH_INFO'] i zamieniająca ją na tablicę * * @author Dominik Sokal * @version 1.3 2007/05/02 */ class Router { /** * Pole $_path_info * * Pole do przechowywania $_SERVER['PATH_INFO'] * * @access private * @var string */ private $_path_info; /** * Pole $_parameters * * Pole do przechowywania sparsowanego $_SERVER['PATH_INFO'] * * @access private * @var array */ private $_parameters = array(); /** * Pole $_glue * * Pole do przechowywania elementów łączących * * @access private * @var array */ private $_glue; /** * Metoda __construct() * * Ustawianie pola $_path_info * * @access public * @param string Ewentualne przyjmowanie $_SERVER['PATH_INFO'] */ public function __construct($path_info=false) { if($path_info === false) $this->_path_info = $_SERVER['PATH_INFO']; else $this->_path_info = $path_info; } /** * Metoda _cleanArray() * * Oczyszczanie tablicy ze zbędnych elementów * * @access private * @param array Tablica z możliwymi pustymi elementami * @return array Oczyszczona tablica */ private function _cleanArray($array) { foreach($array as $value) { if($value != '') $varray[] = $value; } return $varray; } /** * Metoda _splitString() * * Rozdzielanie stringu do tablicy * * @access private * @param string * @return array */ private function _splitString($string) { return $this->_cleanArray(explode($this->_glue, $string)); } /** * Metoda setGlue() * * Pobieranie stringu z elementem łączącym * * @access public * @param string */ public function setGlue($string) { $this->_glue = $string; } /** * Metoda parseURL() * * Konwertowanie zmiennej $_SERVER['PATH_INFO'] do tablicy * * @access public */ public function parseURL() { $this->_parameters = $this->_splitString($this->_path_info); } /** * Metoda getArray() * * Metoda do pobierania tablicy z parametrami * * @access public * @return array Tablica z parametrami */ public function getArray() { return $this->_parameters; } /** * Metoda getParameter * * Pobieranie parametru z tablicy z parametrami * * @access public * @param string Klucz do tablicy z parametrami (indeksowanej numerycznie) * @return string Pobieranie elementu tablicy jeżeli istnieje * @return null */ public function getParameter($id) { return (isset($this->_parameters[$id]) ? $this->_parameters[$id] : null); } } ?> Przykład użycia: Kod $a = new Router();
$a->setGlue('/'); $a->parseURL(); $array = $a->getArray(); Ten post edytował Sokal 1.05.2007, 23:52:10 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 13:32 |