![]() |
![]() |
![]()
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: 43 Pomógł: 0 Dołączył: 3.12.2003 Skąd: Jelenia Góra Ostrzeżenie: (0%) ![]() ![]() |
Kiedyś napisałem coś takiego - może się przyda...
[php:1:d3c26984b1]<?php class mojaBaza { var $sql; function mojaBaza($baza, $serwer="localhost", $uzytkownik="root", $haslo="") { $this->sql = mysql_connect ($serwer,$uzytkownik,$haslo); mysql_select_db($baza); } function rozlacz() { mysql_close($this->sql); } function dane_dodaj($tabela) { $iloscArg = func_num_args(); $zapytanie = "INSERT INTO ".$tabela." VALUES("; for ($i=1; $i<$iloscArg; $i++) { $zapytanie .= "'".func_get_arg($i)."'"; if ($i<$iloscArg-1) { $zapytanie .= ", "; } else { $zapytanie .= ")"; } } // echo $zapytanie; if (mysql_query($zapytanie)) { return 1; } else { return 0; } // echo mysql_error(); } function dane_usun($tabela,$warunek) { $zapytanie = "DELETE FROM ".$tabela." WHERE ".$warunek; if (mysql_query($zapytanie)) { return 1; } else { return 0; } } function dane_aktualizuj($tabela,$warunek) { $zapytanie = "SELECT * FROM ".$tabela; if (!$rezultat = mysql_query($zapytanie)) { return 0; } $iloscPol = mysql_num_fields($rezultat); $iloscArg = func_num_args(); if ($iloscArg-2 == $iloscPol) { $zapytanie = "UPDATE ".$tabela." SET "; for ($i=2; $i<$iloscArg; $i++) { $zapytanie .= mysql_field_name($rezultat,$i-2)."='".func_get_arg($i)."'"; if ($i<$iloscArg-1) { $zapytanie .= ","; } } $zapytanie .= " WHERE ".$warunek; if (mysql_query($zapytanie)) { return 1; } else { return 0; } } else { return 0; } } function ilosc_rekordow($tabela,$warunek="") { if ($warunek=="") { $where = ""; } else { $where = " WHERE ".$warunek; } $zapytanie = "SELECT * FROM ".$tabela.$where; $rezultat = mysql_query($zapytanie); return mysql_num_rows($rezultat); } function zapytanie($zapytanie) { if ($rezultat = mysql_query($zapytanie)) { return $rezultat; } else { return 0; } } } /* PRZYKŁAD $baza = new mojaBaza("test"); $baza->dane_dodaj("tab1","przykład","zastosowania","obiektow"); $baza->rozlacz(); */ ?>[/php:1:d3c26984b1] Może nie wykorzystuje tutaj żadnego polimorfizmu albo innych ciekawostek obiektowych ale parę razy mi się to przydało... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 18:07 |