Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 2 Dołączył: 15.09.2011 Ostrzeżenie: (0%)
|
Witajcie!
Chcę nauczyć się programowania obiektowego. Niestety, kursy internetowe opierają się na nieco głupich przykładach, w stylu: - zaszczekaj burku - hau hau Nie ma to przełożenia na realne problemy z jakimi stykamy się w programowaniu. W mojej książce, "PHP i MySQL. Vademecum profesjonalisty" także programowanie obiektowe nie zostało dobrze opisane. Postanowiłem więc spróbować napisać coś prostego. W moim przypadku był ro system rejestracji. Skrypt działa w 100%, chociaż nie jest dokończony (nie ma walidacji hasła, a walidacja loginu też nie jest w pełni skończona). Chodzi mi raczej o samą zasadę działania. Od razu mówię, że jest to mój PIERWSZY, obiektowy projekt pisany bez żadnego wzoru. Zależy mi na tym, żeby ktoś poradził, co należy zmienić.
Na początku chciałem napisać klasę connect (obecnie jest zawarta w komentarzu), jednak miałem problem z wykorzystaniem jej, tzn. zależy mi, żeby w jednej klasie zawrzeć wszystkie dane dotyczące logowania do mysql i później żebym mógł w innych klasach wykorzystywać wszystkie metody mysqli. Niestety miałem z tym problem. Jeżeli ktoś wie jak to zrobić, to byłbym także wdzięczny za odpowiedź. pozdrawiam (IMG:style_emoticons/default/smile.gif) Ten post edytował Testosteron 3.07.2014, 17:21:48 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 2 Dołączył: 15.09.2011 Ostrzeżenie: (0%)
|
Nie wiem, czy dobrze Cię zrozumiałem. Mogę stworzyć klasę form, która odpowiada za zwracanie pól formularza. Jej metoda mogłaby przyjmować parametr dotyczący typu pola, czyli - text, password, itp. Inna metoda tej klasy mogłaby ogólnie tworzyć formularz, a więc, np. ustawiałaby metodę get, bądź post i wskazywała na plik do którego mają zostać przesłane dane. Kolejne klasy dziedziczyłyby z tej klasy i odnosiłyby się do konkretnych typów pól formularza. Zawierałyby np. walidację wprowadzonych przez użytkownika danych i zwracałyby true bądź false
Dodatkowo metoda klasy form sprawdzałaby, czy dane zostały wcześniej przesłane. Zwracałaby wartość true bądź false. Poniżej deklaracji wszystkich klas mógłbym stworzyć instrukcję warunkową, która sprawdzałaby, czy dane zostały przesłane. Jeśli nie (a więc odpowiednia metoda zwróci wartość false), tworzy obiekty typu - login, password, mail, itp. W przeciwnym wypadku następuje sprawdzenie poprawności danych i jeśli wszystko jest dobrze, następuje zapisanie ich w bazie danych. W takim układzie tworząc kolejne formularze na stronie (np. komentarze, wyszukiwarka), mógłbym skorzystać z klas stworzonych wcześniej. Oczywiście musiałbym dodać nowe zapytanie, być może nową klasę weryfikującą poprawność danych, ale pracy byłoby o wiele mniej. Uważasz, że tak byłoby dobrze? Ten post edytował Testosteron 4.07.2014, 19:23:54 |
|
|
|
Testosteron [PHP] Skrypt rejestracji (OOP) - prośba o poprawę kodu 3.07.2014, 17:17:30
ctom do przemyślenia : co ma wspólnego "class wali... 3.07.2014, 17:57:45
SmokAnalog Po pierwsze takie małe kosmetyczne sprawy:
Nazwy k... 3.07.2014, 18:16:58
Testosteron [PHP] pobierz, plaintext <?php/* class connect{... 4.07.2014, 08:43:29
Turson Dalej masz te same błędy:
Nazewnictwo klas
Ogólnie... 4.07.2014, 08:50:45
Testosteron * Nazewnictwo to mały pikuś. Ten skrypt miał być w... 4.07.2014, 09:07:30
aras785 Odnośnie ECHO to nigdy nie używaj tego w metodach ... 4.07.2014, 09:31:46
SmokAnalog Dziedziczenie jest wspaniałe i daje mnóstwo korzyś... 4.07.2014, 09:40:17
pedro84 @Testosteron - nie. Przeczytałeś w ogóle post oraz... 4.07.2014, 23:26:45
Testosteron Czytałem, ale przed samym wyjściem. A metody walid... 5.07.2014, 08:40:52
pedro84 Walidacja moim zdaniem powinna być osobnym bytem. ... 5.07.2014, 10:32:38
Testosteron Ściągnąłem Symfony. Muszę przyznać, ze ten kod jes... 5.07.2014, 16:44:24
pedro84 Chodziło mi o Symfony 2.
Najpierw musisz poznać p... 5.07.2014, 19:03:18
Testosteron Chodziło mi o aplikacje na urządzenia mobilne. Duż... 17.07.2014, 07:55:48
Pyton_000 Drobne uwagi co do kodu.
W klasach dziedziczących ... 17.07.2014, 08:31:45
golabow Może pomyśl o klasie abstrakcyjnej, wydzielisz do ... 17.07.2014, 09:24:11
Testosteron Macie rację. Postaram się poprawić kod. Tylko, że ... 17.07.2014, 20:29:58
pedro84 A właściwie po co Ci metoda, w której klasa pluje ... 17.07.2014, 23:52:04
Testosteron No niby mogę, ale z drugiej strony w widoku można ... 18.07.2014, 13:48:29 ![]() ![]() |
|
Aktualny czas: 30.12.2025 - 11:36 |