Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nice URLs, Klasa, PHP5
ActivePlayer
post 1.05.2005, 18:45:34
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


  1. <?php
  2. class Input_Url {
  3.    private static $oInstance = false;
  4.  
  5.    private $url_params = array();
  6.     
  7.     public static function getInstance()
  8.     {
  9.         if ( self::$oInstance == false ) {
  10.             self::$oInstance = new Input_Url();
  11.              } 
  12.         return self::$oInstance;
  13.     } 
  14.  
  15.  
  16.     private function __construct()
  17.     {
  18.         $this->set_params_from_url();
  19.     } 
  20.  
  21.     // wew funkcja pobierająca wartosci do klasy
  22.     private function set_params_from_url()
  23.     {
  24.         $arrParams = array();
  25.         $_SERVER['PATH_INFO']  = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';
  26.         $arrParams = explode( '/', substr( $_SERVER['PATH_INFO'], 1) );
  27.          foreach ( $arrParams as $wartosc ) {
  28.             $this->url_params[] = $wartosc;
  29.              } 
  30.     } 
  31.  
  32.     // pobiera parametr z paska (w wywolaniu podajemy numer argumentu)
  33.     public function getParam($atrNumber = false)
  34.      {
  35.         if ( !empty( $atrNumber ) ) {
  36.             return $this->url_params[$atrNumber-1];
  37.         } else {
  38.             return null;
  39.         } 
  40.     } 
  41.  
  42.     // generuje url wg wartosci
  43.     public function makeUrl()
  44.     {
  45.         $fArgs = func_get_args();
  46.         $retUrl = '';
  47.          if ( is_array( $fArgs ) ) {
  48.             foreach( $fArgs as $value ) {
  49.                 $retUrl .= '/' . $value;
  50.             } 
  51.             return $_SERVER['SCRIPT_NAME'] . $retUrl;
  52.         } else {
  53.             return null;
  54.         } 
  55.     }  
  56.     //zwraca url, taki jaki mamy w pasku + dodane w argumentach wartosci
  57.     public function makeUrlAdd()
  58.     {
  59.         $fArgs = func_get_args();
  60.         $retUrl = '';
  61.          foreach ( $this->url_params as $wartosc ) {
  62.             $retUrl .= '/' . $wartosc;
  63.         } 
  64.  
  65.         if ( is_array( $fArgs ) ) {
  66.             foreach( $fArgs as $value ) {
  67.                 $retUrl .= '/' . $value;
  68.             } 
  69.             return $_SERVER['SCRIPT_NAME'] . $retUrl;
  70.         } else {
  71.             return null;
  72.         } 
  73.     } 
  74. } 
  75.  
  76. ?>


Napisalem taką oto klase do obsługi easyUrl. prosze o sugestie, co mozna by jeszcez do niej dopisac, czy dziala i wszelkie uwagi. Dziekuje smile.gif

aha, plik .htacces ustawiamy tak jak w artykule na php.pl smile.gif

Update
racja, dodalem komentarze i poprawilem troche tu na forum bo sie rozjechało

Ten post edytował ActivePlayer 5.06.2005, 23:39:22
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 13:19