Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Pomoc przy optymalizacji klasy, czy da się to jeszcze bardziej uprościć?
Czapla
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 3
Dołączył: 10.12.2007
Skąd: Bielsko-Biała

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


Napisałem klasę, która automatycznie generuje nazwy i linki dla danych stron znajdujących się w katalogu.

  1. <?php
  2. class tworzWidok
  3. {
  4.  function pokazMenu()
  5.   {
  6.   $np_nazwa_pliku = array();
  7.    foreach (glob("./strona/*.php") as $np)
  8.    {
  9.     $np_nazwa_pliku[] = strtoupper(substr($np, 9, -4));
  10.    }
  11.   $ls_liczba_stron = count($np_nazwa_pliku);
  12.    for ($i = 0; $i < $ls_liczba_stron; $i++)
  13.     {
  14.      print '<a href=index.php?strona='.$i.'> '.$np_nazwa_pliku[$i].' </a>';
  15.     }
  16.    }
  17.  
  18.  function pokazStrona($s_strona)
  19.   {
  20.   $np_nazwa_pliku = array();
  21.    foreach (glob("./strona/*.php") as $np)
  22.    {
  23.     $np_nazwa_pliku[] = $np;
  24.    }
  25.   $ls_liczba_stron = count($np_nazwa_pliku);
  26.    for ($i = 0; $i < $ls_liczba_stron; $i++)
  27.     {
  28.      switch ($s_strona) {
  29.       case $i:
  30.        include ($np_nazwa_pliku[$i]);
  31.        break;
  32.       }
  33.     }
  34.   }
  35. }
  36. ?>


Przykład wykorzystania
  1. <div id="menu"> //include menu.php;
  2.  <?php
  3.  $widok = new tworzWidok;
  4.  $widok->pokazMenu();
  5.  ?>
  6.  </div>
  7. <div id="tresc"> //include tresc.php;
  8. <?php
  9.  $strona = (int)$_REQUEST['strona'];
  10.  $widok->pokazStrona($strona);
  11. ?>
  12. </div>

Wiem że koncepcji rozwiązania problemu jest tyle co programistów (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ale być może dało by się bardziej zoptymalizować tą klasę?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Lars
post
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 15
Dołączył: 29.04.2005
Skąd: Gdynia

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


Hmm...mnie się na przykład nie podobają linijki 7-16. Po co robisz tablicę, skoro możesz od razu wyświetlić linki?
U ciebie
  1. <?php
  2. $np_nazwa_pliku = array();
  3.   foreach (glob("./strona/*.php") as $np)
  4.   {
  5.    $np_nazwa_pliku[] = strtoupper(substr($np, 9, -4));
  6.   }
  7.  $ls_liczba_stron = count($np_nazwa_pliku);
  8.   for ($i = 0; $i < $ls_liczba_stron; $i++)
  9.    {
  10.     print '<a href=index.php?strona='.$i.'> '.$np_nazwa_pliku[$i].' </a>';
  11.    }
  12. ?>


Moje
  1. <?php
  2. $i=0;
  3. foreach (glob("./strona/*.php") as $np)
  4.   {
  5.    $np= strtoupper(substr($np, 9, -4));
  6.     print '<a href=index.php?strona='.$i.'> '.$np.' </a>';
  7.     $i++;
  8.    }
  9. ?>


Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 17.10.2025 - 23:26