![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 15.05.2003 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem. Chciałem napisać serwis www w OO i już nawet zacząłem ale teraz, po dwóch dniach bez pisania, stwierdziłem, że to co wypociłem ma niewiele wspolnego z programowaniem obiektowym. Bo chociaż w klasach są metody, które wykonują różne operacje na bazie, sam nie wiem czemu, stworzyłem pozatym osobne funkcje. (klasy mam takie jak tabele w bazie ale do tych klas napisałem osobne funkcje, które tworzą nowe obiekty i "obsługują" metody). Przeglądałem ezpublish ale jest on dla mnie za bardzo skomplikowany. Również w mojej "biblii" (książce php i mysql) php nie ma zastosowania klas w wiekszych projektach stron dynamicznych. Szukałem jakiś prostych przykładów w sieci ale nic wartego uwagi nie znalazłem. Może wy macie jakieś swoje próbki czy też inne tego typu bajerki?Byłbym bardzo wdzięczny gdybyście pomogli mi (przedstawiając jakis przykład czy też wyjaśnając) zrozumieć zasady programowania zorientowanego obiektowo. Pozdrawiam - michaloo[/code] |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 15.05.2003 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
witam
niedokladnie o to mi chodzilo ale po przeczytaniu przykladu mariana8 nasunelo mi sie pytanie z tym deklarowaniem zmiennych. Pokaze na przykladzie. Mam plik klasy.php a w nim (kod napisany "na szybko" i napewno ma mase bledow ale narazie nie jest to specialnie wazne): [php:1:ced0a56767]<?php class uzytkownik { var $id_uzytkownika; var $pseudonim; var $imie; var $email; var $ranga; var $recenzje; var $zapowiedzi; var $pliki; var $posty; var $zdjecia; var $strona_www; var $gg; var $icq; var $adres; var $zainteresowania; var $status; var $data_ostatniej_wizyty; var $data_rejestracji; function wyciagnanie_z_bazy($element, $wartosc) { $zapytanie = "SELECT * FROM 'uzytkownicy' WHERE $element = $wartosc"; $dzialanie = @mysql_query($zapytanie); if(!$dzialanie) return 0; $wynik = $dzialaj->fetchRow(DB_FETCHMODE_ASSOC); if($wynik > 0) { $this->id_uzytkownika = $wynik['id_uzytkownika']; $this->pseudonim = $wynik['pseudonim']; $this->imie = $wynik['imie']; $this->email = $wynik['email']; $this->ranga = $wynik['ranga']; $this->recenzje = $wynik['recenzje']; $this->zapowiedzi = $wynik['zapowiedzi']; $this->pliki = $wynik['pliki']; $this->posty = $wynik['posty']; $this->zdjecia = $wynik['zdjecia']; $this->strona_www = $wynik['strona_www']; $this->gg = $wynik['gg']; $this->icq = $wynik['icq']; $this->adres = $wynik['adres']; $this->zainteresowania = $wynik['zainteresowania']; $this->status = $wynik['status']; $this->data_ostatniej_wizyty = $wynik['data_ostatniej_wizyty']; $this->data_rejestracji = $wynik['data_rejestracji']; return 1; } else return blad; } function logowanie($pseudonim, $haslo); { $zapytanie = "SELECT * FROM 'uzytkownicy' WHERE pseudonim = $pseudonim AND haslo = password($haslo)"; $dzialanie = @mysql_query($zapytanie); if(!$dzialanie) return 0; $wynik = $dzialaj->fetchRow(DB_FETCHMODE_ASSOC); if($wynik > 0) { $this->id_uzytkownika = $wynik['id_uzytkownika']; $this->pseudonim = $wynik['pseudonim']; $this->imie = $wynik['imie']; $this->email = $wynik['email']; $this->ranga = $wynik['ranga']; $this->recenzje = $wynik['recenzje']; $this->zapowiedzi = $wynik['zapowiedzi']; $this->pliki = $wynik['pliki']; $this->posty = $wynik['posty']; $this->zdjecia = $wynik['zdjecia']; $this->strona_www = $wynik['strona_www']; $this->gg = $wynik['gg']; $this->icq = $wynik['icq']; $this->adres = $wynik['adres']; $this->zainteresowania = $wynik['zainteresowania']; $this->status = $wynik['status']; $this->data_ostatniej_wizyty = $wynik['data_ostatniej_wizyty']; $this->data_rejestracji = $wynik['data_rejestracji']; return sukces; } else return 0; } function rejestracja($pseudonim, $haslo, $imie, $email, $strona_www, $gg, $icq, $adres, $zaintersowania) { $zapytanie = "INSER INTO 'uzytkownicy' VALUES $pseudonim, $haslo, $imie, $email, '0', '0', '0', '0', '0', '0', $strona_www, $gg, $icq, $adres, $zaintersowania, '0', date(d-m-Y), date(d-m-Y)"; $dzialanie = @mysql_query($zapytanie); if(!$dzialanie) return 0; else return 1; } function zmiana_danych($id_uzytkownika, $pseudonim, $haslo, $imie, $email, $strona_www, $gg, $icq, $adres, $zaintersowania) { $zapytanie = "UPTADE ($pseudonim, $haslo, $imie, $email, $strona_www, $gg, $icq, $adres, $zaintersowania) FROM 'uzytkownicy' VALUES $pseudonim, $haslo, $imie, $email, $strona_www, $gg, $icq, $adres, $zaintersowania WHERE id_uzytkownika = $id_uzytkownika"; $dzialanie = @mysql_query($zapytanie); if(!$dzialanie) return 0; else return 1; } function usun_uzytkownika($id_uzytkownika) { $zapytanie = "DELETE FROM 'uzytkownicy' WHERE id_uzytkownika = $id_uzytkownika LIMIT 1"; $dzialanie = @mysql_query($zapytanie); if(!$dzialanie) return 0; else return 1; } function pokaz_zmienna($zmienna) return $this->$zmienna; } ?>[/php:1:ced0a56767] i mam pytanie czy to deklarowanie (?) var .... ma w tym przypadku sens? i jeszcze jedna sprawa czy zrobic osobny plik uzytkownicy.php gdzie bedzie wykorzystywana ta klasa? oraz ostatnie pytanie - czy elementy strony(naglowek, tabele, stopka) tez powinny miec swoja wlasna klase np. class strona ktora mialaby metody odpowiedzialne za wyswietlanie odpowiednich czesci strony np function naglowek($tytul).....blabla; czy dobrze mysle? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 15:06 |