Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Poczuc OOP - zakladanie bazy firm
wojckr
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 4
Dołączył: 6.05.2007
Skąd: Wrocław

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


Witam,
postaram się pisać zwięźle i na temat.
Dotychczas projektowalem proceduralnie. Zapoznalem sie z odstawiami i filozofia OOP. Jednak jeszcze tego nie "czuje".
Chcę stworzyć bazę firm przy użyciu OOP. Nie wiem czy dobrze mysle, ale obiektem bylaby firma, ktora mialaby swoja nazwe, adres,telefon itd.(własciwosci), a firme ta moznaby bylo dodawac, usuwac, edytowac i wyswietlac (metody).
Sprobowalem projektowac klase, ale zauwazylem, ze wrzucam funkcje do klasy i w zasadzie proceduralnie zrobilbym to chyba szybciej...

Czy mozecie podpowiedziec jako doswiadczeni w OOP, jak zabralibyscie sie do tworzenia takiej bazy firm z uzyciem OOP i czy do tego wystarczy jedna klasa czy wiecej niz jedna?

Dzieki wielkie z gory za wskazowki (mam wrazenie, ze potrzebuje kilku wskazowek, a potem pojdzie z gorki).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wojckr
post
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 4
Dołączył: 6.05.2007
Skąd: Wrocław

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


Dzięki za pierwsze wskazowki :-)

Za frameworki zabiore sie innym razem, na razie chce pojąć OOP, a N razy wolniejsze robienie to fakt, ale może zaprocentuje?

Wklejam _wstępny_szkielet_ klasy:

  1. <?
  2.  
  3. include '../53/mysqlconn.inc.php';
  4.  
  5. class firma {
  6. public $id;
  7. public $nazwa;
  8. public $adres;
  9. public $telefon;
  10.  
  11. function __construct() {
  12. $sql=mysql_query("SELECT * FROM firmy LIMIT 1 ;");
  13. if (mysql_num_rows($sql)>0) {
  14. $row=mysql_fetch_assoc($sql);
  15. $this->id = $row['id'];
  16. $this->nazwa = $row['nazwa'];
  17. $this->adres = $row['adres'];
  18. $this->telefon = $row['telefon'];
  19. } else {
  20. echo 'Brak firm.';
  21. }
  22. }
  23.  
  24. function dodajFirme() {
  25. //pomijam walidację (a moze powinno się już tearaz ją uwzględnić?)
  26. if (mysql_query("INSERT INTO firmy SET nazwa='".$this->nazwa."', adres='".$this->adres."', telefon='".$this->telefon."' ;")) {
  27. echo 'Dodano firme';
  28. } else {
  29. echo 'Nie dodano firmy';
  30. }
  31. }
  32.  
  33. function updateFirmy() {
  34. if (mysql_query("UPDATE firmy SET nazwa='".$this->nazwa."', adres='".$this->adres."', telefon='".$this->telefon."' WHERE id=".$this->id." ;")) {
  35. echo 'Uaktualniono firmę.';
  36. } else {
  37. echo 'Nie uaktualniono firmy.';
  38. }
  39. }
  40.  
  41. function usunFirme() {
  42. if (mysql_query("DELETE FROM firmy WHERE id=".$this->id." ;")) {
  43. echo 'Firma usunieta.';
  44. } else {
  45. echo 'Firma nie usunieta.';
  46. }
  47. }
  48.  
  49. function pokazFirme() {
  50. echo '<LI>Nazwa: '.$this->nazwa;
  51. echo '<LI>Adres: '.$this->adres;
  52. echo '<LI>Telefon: '.$this->telefon;
  53. }
  54.  
  55. function formFirma() {
  56. echo '<form action="" method="post">';
  57. echo '<input type="hidden" name="id" value="'.$this->id.'"><BR>';
  58. echo 'Nazwa: <input type="text" name="nazwa" value="'.$this->nazwa.'"><BR>';
  59. echo 'Adres: <input type="text" name="adres" value="'.$this->adres.'"><BR>';
  60. echo 'Telefon: <input type="text" name="telefon" value="'.$this->telefon.'"><BR>';
  61. echo '<input type="submit" value="dodaj" name="formFirma">';
  62. echo '<input type="submit" value="usun" name="formFirmaUsun">';
  63. echo '</form>';
  64. }
  65. }
  66.  
  67. $firmaA = new firma;
  68.  
  69. if (isset($_POST['formFirma']) and $_POST['id']=='') {
  70. $firmaA->nazwa=$_POST['nazwa'];
  71. $firmaA->adres=$_POST['adres'];
  72. $firmaA->telefon=$_POST['telefon'];
  73. $firmaA->dodajFirme();
  74. } elseif (isset($_POST['formFirma']) and $_POST['id']!='') {
  75. $fimraA->id=$_POST['id'];
  76. $firmaA->nazwa=$_POST['nazwa'];
  77. $firmaA->adres=$_POST['adres'];
  78. $firmaA->telefon=$_POST['telefon'];
  79. $firmaA->updateFirmy();
  80. } elseif (isset($_POST['formFirmaUsun']) and $_POST['id']!='') {
  81. $fimraA->id=$_POST['id'];
  82. $firmaA->usunFirme();
  83. } else {
  84. $firmaA->pokazFirme();
  85. $firmaA->formFirma();
  86. }
  87.  
  88.  
  89. ?>



Co do tego co chcę zrobić, to moje założenia:
1. Firmy podzielone na branze: branzaGlowna1 skladajaca sie z podBranzy1, podBranzy2 itd. (na razie dwa poziomy, ale potem bycmoze podbranze beda sie skaldac z podpodbranz), branzaGlowna2, 3, 4 itd.
2. Na stronie wyswietlają się branże główne i podbranże. Po kliknieciu na najniższy poziom (teraz podBranza, np. na podBranza3 branzyGlownej7) pokazuje sie lista firm z danej podbranzy.
3. Po kliknieciu na firme, pokazują się szczegolowe dane o firmie.
4. Teraz mozna edytować dane o tej firmie lub usunąć.
5. Po edycji/usunięciu w panelu administracyjnym zatwierdzam lub nie, ew. coś jeszcze poprawiam, jesli byla edycja. ALBO Jesli byla zalogowana uprawniona osoba, to wprowadzone zmiany od razu sa widoczne na stronie.

6. Jest też możliwość dodania firmy z dowolnego miejsca strony (czy uzytkownik jest na str glownej, czy w jakiejs branzy to moze z tego poziomu dodawac firme).


Oto co chcę zrobić. Zagadką dla mnie jest jakie korzyści osiągnę robiąc taką bazę firm w OOP ?
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: 22.08.2025 - 19:49