Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][OOP]Pierwsza własna klasa, któtkie pytanie, Teoria jest - praktyki brak!
windman
post
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

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


Witam,

w PHP piszę od ok. trzech lat, jak do tej pory wyłącznie strukturalnie.
Na codzień używam oczywiście szeregu klas, jednakże sam żadnej jeszcze nie napisałem.
Zdaję sobie sprawę, że OOP to dzisiaj standard i trzeba się z tym zmierzyć.
Teorię znalazlem w książkach... wiadomo jednak jak się ma teroia do praktyki.

Pierwszą klasą jaką postanowiłem napisać jest baza danych oparta na plikach.
Pojawiła się od razu pierwsza wątpliwość:

pierwszym zadaniem klasy musiałoby być sprawdzenie, czy plik do zapisu danych istnieje, czy ma odpowiednie prawa itd.

Wydaje mi się, że najlepszym miejscem do tego będzie konstruktor.... czy tak?
Jeżeli tak to w jaki sposób wyświetlić błąd, gdy powiedzmy plik nie istnieje i wstrzymać dalsze instrukcje dla obsługi bazy?

W przypadku gdybym sprawdzał plik za pomocą innej funkcji nie byłoby problemu:
  1. <?php
  2. $ob = new TxtDB('plik.txt');
  3. $plikIstnieje = $ob->sprawdzPlik();
  4.  
  5. if($plikIstnieje == true){
  6.  INSTRUKCJE DLA BAZY
  7. }
  8. ?>

Jak będzie to wyglądało w przypadku gdy konstruktor będzie sprawdzał plik?

jeszcze jedno... w jaki sposób w OOP wyświetlać błędy? czy robi się to na zasadzie:
  1. <?php
  2. public function test(){
  3. if(!$this->zmienna) echo "Treść komunikatu błedu";
  4. }
  5. ?>


Za pomoc z góry dziękuję!

Pozwoliłem sobie edytować. Na czerwono masz potencjalne obiekty, na niebiesko działania na nich (działania to często również obiekty) (cysiaczek)
Powód edycji: kolorowanka... ;]
Go to the top of the page
+Quote Post
bim2
post
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


klasa sama powinna sprawdzić czy plik istnieje w konstruktorze i jeśli nie wyrzycic wyjątek Exception" title="Zobacz w manualu PHP" target="_manual (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Zrób, żeby działało tak
  1. <?php
  2. $oDb = new DbTxt('plik.txt');
  3.  
  4. echo $oDb->getRow(3); //zwraca linie 3
  5. $oDb->setRow(3, 'tralalala'); //zmieni linie 3
  6. $oDb->clearFile();
  7. ?>


Tyle. Jak pliku nie ma jak mówiłem niech wywali wyjątek.
Go to the top of the page
+Quote Post
windman
post
Post #3





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

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


Cytat(bim2 @ 2.03.2009, 20:41:49 ) *
klasa sama powinna sprawdzić czy plik istnieje w konstruktorze i jeśli nie wyrzycic wyjątek Exception" title="Zobacz w manualu PHP" target="_manual (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Tak jak myślałem, konstruktor jest odpowiednim miejscem...
Dzięki i pozdrawiam.
Go to the top of the page
+Quote Post

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: 25.08.2025 - 01:35