Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> klasa do oceny
karis
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 2
Dołączył: 23.12.2008

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


jestem początkujący w OOP, ale udało mi się napisać własną klasę
proszę o ocenę, czy dobrze to zrobiłem, co mogę poprawić, co dodać etc.

  1. <?php
  2. class File
  3. {
  4.     private $plik;
  5.     private $open;
  6.    
  7.     function __construct()
  8.     {
  9.        return 0;
  10.     }
  11.     public function get($plik)
  12.     {
  13.         $this->plik=$plik;
  14.         $openFile = file_get_contents($plik);
  15.         $this->open = $openFile;
  16.         if(!$openFile)
  17.         {
  18.             return false;
  19.         }
  20.         else
  21.         {
  22.             return true;
  23.         }
  24.     }
  25.     public function save($dane)
  26.     {
  27.         $op = $this->get($this->plik);
  28.         if(!$op)
  29.         {
  30.             return false;
  31.         }
  32.         else
  33.         {
  34.             $dane = $dane."\n".$this->open;
  35.             $save = file_put_contents($this->plik, $dane);
  36.             if($save)
  37.             {
  38.                
  39.                 return true;
  40.             }
  41.             else
  42.             {
  43.                
  44.                 return false;
  45.             }
  46.         }
  47.     }
  48.     public function show()
  49.     {
  50.         echo $this->open;
  51.         return true;
  52.     }
  53. }
  54. $plik = new File();
  55. $plik->get('123.php');
  56. $plik->save('kupsko hahahahha');
  57. $plik->show();
  58.  
  59.  
  60.  
  61.  
  62. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witam!

Taka jest specyfika tego działu, że jestem zmuszony sobie pomarudzić smile.gif Mieszasz nazwy polskie z angielskimi co jest niby detalem, ale to bardzo zły nawyk. Użycie konstruktora w taki sposób jest całkowicie pozbawione sensu.
  1. <?php
  2. $save = file_put_contents($this->plik, $dane);
  3.             if($save)
  4.             {
  5.                
  6.                 return true;
  7.             }
  8.             else
  9.             {
  10.                
  11.                 return false;
  12.             }
  13. ?>

Lepiej po prostu:
  1. <?php
  2. return file_put_contents($this->plik, $dane);
  3. ?>


Nazwy metod są mylące. Reasumując nie jest tragicznie winksmiley.jpg

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
karis
post
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 2
Dołączył: 23.12.2008

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


dzięki smile.gif

skoro już zacząłem, to może powiecie mi jak udoskonalić tą klasę

  1. <?php
  2. class Tagi
  3. {
  4.    
  5.    private $nazwaTagu;
  6.    private $zawartosc;
  7.    
  8.    public function dane($zawartosc)
  9.    {
  10.         if(eregi('http://', $zawartosc))
  11.         {
  12.             //pobieranie adresu
  13.             $zdalny = file_get_contents($zawartosc);
  14.             $this->zawartosc = $zdalny;
  15.         }
  16.         else
  17.         {
  18.             $this->zawartosc = $zawartosc;
  19.         }
  20.    }
  21.    
  22.    public function pobierzTag($nazwaTagu)
  23.    {
  24.         $this->nazwaTagu = $nazwaTagu;
  25.         preg_match_all('%<'.$nazwaTagu.' (.*)>%', $this->zawartosc, $wynik);
  26.        
  27.         $wynik = $wynik[0];
  28.        
  29.         return $wynik;
  30.        
  31.    }
  32.    
  33.    function __destruct()
  34.    {
  35.         unset($wynik);
  36.         unset($zdalny);
  37.    }
  38.    
  39. }
  40.  
  41. $tag = new Tagi();
  42. $tag->dane('http://farby.info.pl');
  43. $wynik = $tag->pobierzTag('img');
  44.  
  45. print_r($wynik);
  46. ?>


żeby pobierała tylko te tagi, które zostały zdefinioowane, oraz żeby brało pod uwage taki otwarte lub zamknięte
Go to the top of the page
+Quote Post
ayeo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witam!

Destruktor niszczy zmienne których nie ma. Eregi to zło, korzystaj preg. Nie rozumiem o co chodzi ze zdefiniowanymi tagami, ale wydaje mi się, że to kwestia regexpa, a nie OOP.

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 00:44