Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Początki z OOP :F
margyw
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.02.2009

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


Witam,

miałem kilku letnią przerwę w php i teraz, kiedy znowu mnie wciągnęło, za żadne skarby nie potrafię ogarnąć obiektówki (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif) .

Chciałbym, żebyście sprawdzili tą klasę i w ogóle naprowadzili mnie na dobrą drogę, czy tak powinno się używać OOP. Jako że uczyłem się strukturalnie to teraz trudno mi się odzwyczaić (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) . Jest to prosty kodzik, który ma wyświetlać plik, który mu zapodam. Pisałem to pod malutki homepage, więc użyłem go do wyświetlania podstron. A więc:

  1. <?php
  2. class Page
  3. {
  4.    private $file;
  5.    
  6.    
  7.    public function __construct($file)
  8.    {
  9.        $this->file = 'content/'.$file.'.txt';
  10.    }
  11.    
  12.  
  13.    private function loadPage()
  14.    {    
  15.        $content = file($this->file);
  16.        $content = join('', $content);
  17.        
  18.        return $content;        
  19.    }
  20.    
  21.    
  22.    private function checkPage()
  23.    {
  24.        if(file_exists($this->file)) { return TRUE; } else { return FALSE; }    
  25.    }
  26.    
  27.    
  28.    public function viewPage()
  29.    {    
  30.        if($this->checkPage()==TRUE)
  31.        {
  32.            echo $this->loadPage();            
  33.        }else{    
  34.            echo '<h2>The page you have entered is incorrect!</h2>';    
  35.        }    
  36.    }
  37.    
  38. }
  39. ?>


  1. <?php
  2. if(isset($_GET['go']))
  3.    {                        
  4.        $page = new Page($_GET['go']);
  5.        $page->viewPage();                            
  6.    }else{                        
  7.        $page = new Page('main');
  8.        $page->viewPage();                        
  9.    }
  10. ?>


Tak więc, jest to poprawne użycie obiektówki, czy taki kod mija się z celem? Bo ja już sam nie wiem, może kiedyś to pojmę (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Z góry dzięki, pozdrawiam.

Ten post edytował margyw 28.06.2009, 23:56:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
alegorn
post
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


mniej wiecej.

w zasadzie, programowanie obiektowe daje rezultaty przy wiekszych projektach, przy malych skryptach, tak naprawde jest to zabawa pro forma.
choc jest oczywiscie dobra wprawka.. zabawa zaczyna sie dopiero jak robisz interfejsy, abstrakty, itp (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
ale lekko korygujac :

  1. <?php
  2. class Admin()
  3. {
  4.  private static $_instance;
  5.  //robimy singletona:)
  6.  public function instance(){...........}
  7.  public function add(){...........}
  8.  public function del(){ ............}
  9.  
  10. }
  11. ?>



i teraz uzycie
  1. <?php
  2. // nie zostawiaj nic przypadkowi
  3. $co = (isset($_GET['co'])&&!empty($_GET['co']))?$_GET['co']:null;
  4.  
  5. if(!empty($co))
  6.   if($co=='add')
  7.           $art->instance()->add();
  8.       elseif($co=='del')
  9.           $art->instance()->del();
  10.      
  11.       ....................
  12. ?>


aa, switch jest rzeczywiscie lepszy, w sensie znacznie wydajniejszy, pozwala sporo czasu zaoszczedzic.
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: 15.10.2025 - 13:07