![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 20.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Jako, że dopiero zaczynam naukę OOP, chciałbym się Was zapytań, czy jest to dobrze napisana klasa. Klasa do obsługi bazy danych
Klasa do obsługi użytkownika czyli dodanie, kasowanie
I oczywiście osobno UserManger czyli odpowiedzialna za pobranie danych typu login, logowanie etc... Czy w tym kodzie jest wszystko ok? Kolejna sprawa, blok try - catch dawać w metodach w klasie, czy w miejscu gdzie dana metoda jest wywołana? Ten post edytował eVolution 20.03.2012, 18:36:29 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Po co ci klasa DB, która nie wprowadza żadnej funkcjonalności poza bezsensownym wstawieniem na sztywno danych dla połączenia?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 20.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dlatego założyłem ten temat, żeby mi ktoś wyjaśnił co i jak, i czy kod jest dobry. Ale już widzę, że nie. Czyli rozumiem, że najlepiej zawartość konstruktora z klasy DB dać do klasy User w konstruktor, i jest to lepszym rozwiązaniem?
Ten post edytował eVolution 20.03.2012, 18:49:45 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Nikt Cię tutaj nie nauczy OOP bo to bardzo szeroka dziedzina
Od tego są odpowiednie książki helion -> wzorce projektowe |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czyli rozumiem, że najlepiej zawartość konstruktora z klasy DB dać do klasy User w konstruktor, i jest to lepszym rozwiązaniem? Nie. @wookieb'owi chodziło o to że twoja klasa DB nie robi nic innego prócz połączenia na sztywno, bo zarówno nie można przekazać żadnych ustawień, jak i ta klasa poza łączeniem się z bazą nic nie robi. I coś takiego większego sensu nie ma, bo równie dobrze gdzieś wcześniej możesz utworzyć połączenie w PDO i instancje PDO przekazać do klasy użytkownika. Pomijam już kwestię że praktycznie żadnych danych nie sprawdzasz.. Cytat Czy w tym kodzie jest wszystko ok? Kolejna sprawa, blok try - catch dawać w metodach w klasie, czy w miejscu gdzie dana metoda jest wywołana? A to już zależy od tego w jaki sposób chcesz obsłużyć wyjątek. Może masz tam jakiegoś handlera, wówczas nie musisz stawiać wszędzie try/catch, a jeżeli musisz wykonać inne działanie niż zatrzymanie aplikacji i komunikat o błędzie, to używaj try/catch.. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 20.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Skrobnąłem na szybko coś takiego:
Czy tu jest wszystko ok? I mi nie chodzi o to, żeby ktoś mnie uczył OOP, tylko o to, że mam problem z tym, co np w danej klasie powinno się znaleźć. Np co powinno być w klasie odpowiedzialnej z 1 ucznia itp tak jak np w tej podanej powyżej to wiem co powinno być, ale jak już np chodzi o zrobienie bardziej sensownej klasy to już jest problem. Poprawcie mnie jeśli się mylę: Mam np obiekt samochód, czyli jego metody to skręcanie, hamowanie, przyśpieszenie, zwalnianie? Kolejne mam obiekt użytkownik, jego metody to dodaj, usuń, aktualizuj, i UserManager czyli pokaz wybranego, pokaż wszystkich etc...? Wiem głupie pytania, ale żadna książka akurat tego nie opisuje (IMG:style_emoticons/default/wink.gif) Ten post edytował eVolution 21.03.2012, 02:12:59 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Może ściągnij sobie http://framework.zend.com/manual/en/learni...tart.intro.html i zobacz jak to może być zrobione.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 20.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie ZF czy Kohana3 ? Oczywiście, bardziej z myślą o pracy jako progamista. Na ZF z tego co wiem jest większe zapotrzebowanie.
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Na ZF jest większe zapotrzebowanie, a co za tym idzie także konkurencja większa. Weź pod uwagę, że poznając dany framework od podstaw musisz poświęcić sporo czasu by nabrać doświadczenia i posługiwać się nim biegle.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 20.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kohana3 wydaje się być prostym i lekkim frameworkiem, co przemawia na jego korzyść (IMG:style_emoticons/default/smile.gif) W KO2 miałem okazję pracować, jakieś pół roku.
Ten post edytował eVolution 21.03.2012, 13:24:38 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ale to wcale nie znaczy że musisz tylko do tych się ograniczać. Oprócz większych Jak ZF, Symfony czy przytoczona Kohana jest też sporo całkiem ciekawych projektów. Jest Yii, jest pisany trochę na wzór Sinatry (Ruby) Laravel czy w końcu http://lithify.me/. A przytaczam tylko skupiające większą społeczność i aktywnie rozwijane. Wszystkie też są sporo szybsze niż ZF i Symfony.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Naucz sie programowania obiektowego w Javie i pozniej przenies sie do php jak bedziesz jeszcze chcial. obiektowosc php jest troche toporna i mozesz sobie wyrobic zle nawyki.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 22:37 |