![]() |
![]() ![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
Witam, mam nurtujące mnie pytanie na które nie mogę znaleźć odpowiedzi. Chcę napisać klasę, która z bazy odczytuje załóżmy wszystkie artykuły na dany temat. Łącze się z bazą przez pdo i teraz.. jak odczytać z tej bazy wszystkie artykuły? Czy przez metodę statyczną z tej klasy? Jak wtedy przekazać do niej pdo? Czy za pomocą pętli ale wtedy to takie strukturalne obejście...?
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
Możesz przekazać w parametrze.
-------------------- Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.
https://www.aroch.pl https://themeforest.net/user/aroch https://www.astroblog.aroch.pl https://www.4geeks.pl |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Stwórz sobie klasę, która będzie obsługiwać połączenie z bazą danych (choć nie koniecznie), a następnie wewnątrz klasy Art użyj jej metody, np. tak:
-------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie bierz się sam za to. Mapowanie danych z bazy na obiekty to dosyć skomplikowane zadanie, na pewno za skomplikowane dla początkującego. Skorzystaj z Doctrine bądź innego, gotowego ORM-a.
|
|
|
-Gość- |
![]()
Post
#5
|
Goście ![]() |
b4rt3kk - i w tym momencie mam 1 obiekt Art i w nim odczytaną tablicę z bazy, jak z tego zrobić wiele obiektów typu Art? Czy może ja źle rozumuje? Nie kazdy artykuł powinien byc osobnym obiektem?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
W jakim celu chcesz tworzyć dla każdego z nich obiekt? Nie ma sensu robić tylu obiektów, jeśli posłużą one tylko do wyświetlenia lub jakiejś innej prostej operacji. Napisz co dokładnie chcesz zrobić.
-------------------- Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.
https://www.aroch.pl https://themeforest.net/user/aroch https://www.astroblog.aroch.pl https://www.4geeks.pl |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
b4rt3kk - i w tym momencie mam 1 obiekt Art i w nim odczytaną tablicę z bazy, jak z tego zrobić wiele obiektów typu Art? Czy może ja źle rozumuje? Nie kazdy artykuł powinien byc osobnym obiektem? To zależy co chcesz dalej zrobić z tymi wynikami z bazy. Ale oczywiście możesz zwrócić objekt.
Ten post edytował b4rt3kk 28.10.2013, 16:05:50 -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
-Gość- |
![]()
Post
#8
|
Goście ![]() |
W jakim celu chcesz tworzyć dla każdego z nich obiekt? Nie ma sensu robić tylu obiektów, jeśli posłużą one tylko do wyświetlenia lub jakiejś innej prostej operacji. Napisz co dokładnie chcesz zrobić. Ano w takim, że aktualnie jestem na etapie przyswajania oop i chcę zrozumieć z czym to się je, zgadza się aktualnie będzie to tylko wyświetlanie arta i np. autora i godziny ale jakby to był sklep a w nim różne parametry artykułow to raczej każdy będzie osobnym obiektem. b4rt3kk - w Twoim przykładzie tworzysz obiekt z zupełnie innej klasy niż klasa Art. Czy to dobre rozwiązanie? Idąc tym tropem tworzę klasę coś w stylu PobierzArty i w z niej stworzonym obiekcie tworzę obiekty z klasy Art? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Ano w takim, że aktualnie jestem na etapie przyswajania oop i chcę zrozumieć z czym to się je, zgadza się aktualnie będzie to tylko wyświetlanie arta i np. autora i godziny ale jakby to był sklep a w nim różne parametry artykułow to raczej każdy będzie osobnym obiektem. b4rt3kk - w Twoim przykładzie tworzysz obiekt z zupełnie innej klasy niż klasa Art. Czy to dobre rozwiązanie? Idąc tym tropem tworzę klasę coś w stylu PobierzArty i w z niej stworzonym obiekcie tworzę obiekty z klasy Art? Wg mnie nie ma zbyt dużej różnicy w tym, że do widoku przekażesz sobie np. tablicę, a nie obiekt i nie ma tu znaczenia fakt, że jakiś produkt w sklepie będzie miał więcej atrybutów od innego. stdClass to pusty obiekt, który w przykładzie uzupełniłem wartościami na zasadzie klucz->wartość. -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
-Gość- |
![]()
Post
#10
|
Goście ![]() |
Zgadza się nie ma dla widoku, tak samo jak dla kompilatora nie ma znaczenia czy piszę obiektowo czy strukturalnie
![]() |
|
|
-Gość- |
![]()
Post
#11
|
Goście ![]() |
Korzystając z takiej tablicy jak podałeś (pusty obiekt) lub tablica elementów nie mogę zrobić na nim metod mojej klasy, które dla przykładu będą typu usuń/zmień, więc nijak ma to się do oop
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Korzystając z takiej tablicy jak podałeś (pusty obiekt) lub tablica elementów nie mogę zrobić na nim metod mojej klasy, które dla przykładu będą typu usuń/zmień, więc nijak ma to się do oop Dlatego pytałem, co chcesz dalej zrobić z tymi wynikami pobranymi z bazy. W takim bądź razie, możesz zrobić tak:
-------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 23 Dołączył: 23.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Gościu drogi, ja Ci polecam zajrzenie do dokumentacji popularnych ORM-ów (Doctrine, Propel) - szybko nabierzesz pojęcia co i jak się robi. Polecam także zerknięcie do dokumentacji znanych frameworków PHP - to także Ci pomoże.
Na forum Ci wszystkiego nie wytłumaczą, musisz to poczuć. Przejrzeć kod, nabrać pojęcia itd. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jednak chciałbym przyswoić sobie dobre nawyki :-) W takim razie polecam zapoznanie się z metodą KISS Programowanie obiektowe to nie wszystko. Trzeba wiedzieć jak i gdzie używać, żeby nie przesadzić. -------------------- Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.
https://www.aroch.pl https://themeforest.net/user/aroch https://www.astroblog.aroch.pl https://www.4geeks.pl |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 14:34 |