Napisane: 27.06.2012, 15:50:56 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
extract + dowolny sposób wczytania pliku z widokiem (require, include etc.) |
Forum: Object-oriented programming · Podgląd postu: #973112 · Odpowiedzi: 3 · Wyświetleń: 546 |
Napisane: 22.06.2012, 16:59:14 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
Pierwsza klasa: 1. Niepotrzebnie jest statyczna, poza tym skoro używasz statycznych metod używaj static *typ* function zamiast *typ* function. 2. Metody takie jak Database, Router, Session itp. to dość dobry pomysł, ale lepiej jakbyś użył do tego jakiegoś kontenera (Poczytaj o DependencyInjection). Druga klasa: 1. "class Controller extends Services" - Nie powinno być takiego dziedziczenia, ty nie rozszerzasz serwisów, tylko z nich korzystasz/robisz na nich operacje - Przekaż obiekt Services poprzez konstruktor/metodę do obiektu Controller. 2. Nie zauważyłem byś gdziekolwiek przekazywał jakąkolwiek konfigurację, a to poniekąd zły znak. Trzecia klasa: 1. Ten sam błąd co w klasie wyżej, pkt. 1 2. Skoro korzystasz z jakiejś ścieżki kilkukrotnie to zapisz ją gdzieś do zmiennej i używaj w ten sposób. Poza tym lepiej byś tę ścieżkę przekazał jako argument / klucz konfiguracji, zamiast ustawiać na sztywno w klasie. 3. Do tworzenia obiektów przyda Ci się call_user_func_array lub ReflectionClass. 4. Porozdzielaj metode Run() na inne, wyspecjalizowane metody dla poszczególnych elementów ponieważ robi się bałagan. 5. Dane imho nt. modułu itp powinny zostać wcześniej sprawdzone (długość, czy to string itp) i dopiero później powinny być przekazane do Applications w celach sprawdzenia istnienia i utworzenia obiektu. |
Forum: PHP · Podgląd postu: #971804 · Odpowiedzi: 3 · Wyświetleń: 600 |
Napisane: 20.05.2012, 22:28:11 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
Przekaż obiekt poprzez argument metody sendNewPassword |
Forum: Frameworki · Podgląd postu: #964448 · Odpowiedzi: 3 · Wyświetleń: 429 |
Napisane: 30.11.2011, 23:59:29 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
Dlaczego metodą? Może być równie dobrze obiektem klasy Umiejętność. Dlaczego upierasz się przy swojej racji i tłumaczysz wszystkim dookoła, że to my mamy coś nie równo, zamiast dać coś komuś wyjaśnić i pomyśleć trochę LOGICZNIE. |
Forum: Object-oriented programming · Podgląd postu: #918628 · Odpowiedzi: 23 · Wyświetleń: 1 745 |
Napisane: 29.11.2011, 22:19:27 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
Dokładnie tak, różnicą w tym przypadku może być wygoda pisania, zaoszczędzać parę linijek kodu |
Forum: PHP · Podgląd postu: #918274 · Odpowiedzi: 30 · Wyświetleń: 1 504 |
Napisane: 29.11.2011, 21:45:24 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
Po pierwsze twój kod nawet nie zadziała. Żeby zrobić "ciąg" wykonywanych metod, w każdej z nich musisz zwracać jakiś obiekt, w twoim przypadku tej samej klasy. W klasie masz metody save oraz setData. W metodzie setData ustawiasz dane i w metodzie zwracasz obiekt, a dalej możesz wykonywać inne operacje.
|
Forum: PHP · Podgląd postu: #918261 · Odpowiedzi: 30 · Wyświetleń: 1 504 |
Napisane: 29.11.2011, 19:14:47 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
|
Forum: PHP · Podgląd postu: #918201 · Odpowiedzi: 30 · Wyświetleń: 1 504 |
Napisane: 22.07.2011, 16:37:54 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
Nie Zend_DB, a Zend_Db. Wielkość znaków ma znaczenie |
Forum: Frameworki · Podgląd postu: #883816 · Odpowiedzi: 3 · Wyświetleń: 567 |
Napisane: 6.07.2011, 15:29:29 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
|
Forum: Przedszkole · Podgląd postu: #879614 · Odpowiedzi: 3 · Wyświetleń: 329 |
Napisane: 5.07.2011, 15:58:47 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
|
Forum: Przedszkole · Podgląd postu: #879277 · Odpowiedzi: 3 · Wyświetleń: 310 |
Napisane: 23.06.2011, 22:03:23 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
|
Forum: Poszukuję · Podgląd postu: #875501 · Odpowiedzi: 11 · Wyświetleń: 869 |
Napisane: 3.05.2011, 22:07:36 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
Błędem jest to co podał mat-bi. kadlub - Bardzo inteligentnie, teraz przy każdej wykonanej akcji będzie niszczyć sesję i przenosić do głównej strony. Chyba jasno widnieje instrukcja switch i stan wyrażenia "wyloguj". Popraw linie 17 - ?action=wylogyj -> ?action=wyloguj |
Forum: Przedszkole · Podgląd postu: #860347 · Odpowiedzi: 10 · Wyświetleń: 781 |
Napisane: 23.04.2011, 23:15:56 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
1. Definiujesz dane do bazy danych, które równie dobrze mógłbyś wpisać do klasy poprzez choćby tablicę z konfiguracją. 2. Klasa jest kompletnie nie tyle co źle, a bezsensownie napisana. 3. Pakujesz wszystko do jednego - Połączenie z bazą danych, operacje na niej, dane użytkownika, autoryzacja, wyświetlanie. 4. Łączysz się za każdym razem przy próbie utworzenia obiektu User. 5. Prawie w każdej metodzie wykonujesz zapytanie o_O. 6. Wspomniałem wyżej, że klasa jest napisana bezsensu, ponieważ niektóre "metody" zawarte w niej są na siłę wepchane (czyt. Twoja klasa to kontener na funkcję) 7. Podstawy OOP się kłaniają - Single Responsibility Principle - Jedna sprawa - Jedna klasa. Przede wszystkim musisz oddzielić od siebie taki rzeczy jak baza danych (dostęp, komunikacja, obsługa), zarządzanie użytkownikiem, autoryzacja. Stwórz klasę, która zajmie się połączeniem z bazą danych, zwróci Ci obiekt jakiegoś sterownika bazy danych (np. klasę dziedziczącą po PDO). Zrób osobną klasę dla obsługi użytkownika (tworzenie, usuwanie, edycja / pobieranie danych) oraz osobną do autoryzacji (logowanie, wylogowywanie, sprawdzanie). pozdrawiam |
Forum: PHP · Podgląd postu: #857906 · Odpowiedzi: 20 · Wyświetleń: 1 893 |
Napisane: 31.01.2011, 00:17:19 | |
Grupa: Zarejestrowani Postów: 81 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) |
Zawsze można skorzystać z funkcji array_search, bez utrudniania sobie życia |
Forum: PHP · Podgląd postu: #832357 · Odpowiedzi: 7 · Wyświetleń: 1 296 |
Nowe odpowiedzi Brak nowych odpowiedzi Popularny temat (Nowe) Popularny temat (Brak nowych) |
Sonda (Nowe) Sonda (Brak nowych) Zamknięty temat Przeniesiony temat |
Wersja Lo-Fi | Aktualny czas: 16.05.2024 - 05:44 |