![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 161 Pomógł: 9 Dołączył: 14.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dopiero zacząłem przygodę z obiektowym PHP. Uczyłem się z książki 'Zaawansowane tworzenie stron www PHP5 Szybki start'.
Udało mi się wykombinować taki kod: http://www.wklej.com.pl/show.php?what=20080812201428 Ma to służyć jako miniCMS, to są klasy do zarządzania podstronami. Chciałbym się zapytać czy to jest wogóle obiektowo, bo mi się wydaje że to są zwykłe funkcje pogrupowane w klasy. Nie wiem czy rozumiem ideę obiektowego programowania. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 9.01.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W sumie nie wiem czy rozpoczęcie nauki programowania obiektowego od PHP to najlepsze rozwiązanie. Ja OOP nauczyłem się na C++ i Tobie też to polecam, chociaż na początku może być trudno, ale nie ma nic za darmo (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Poza tym C++ to kanon, który co prawda bywa czasem trochę upierdliwy, bo wszystko musi się zgadzać i jest mniej elastyczne niż nowsze języki, ale to uczy porządnego programowania.
Bazując na swoim przykładzie, polecam naukę podstaw C++, potem wskaźników i wtedy programowanie obiektowe w C++. Jeszcze odnośnie Twojego kodu, to zrobiłeś zbiór funkcji, jak poprzednicy pisali; klasy charakteryzują się tym, że obiekty z nich utworzone posiadają 1) zmienne i 2) metody (funkcje) i jedno i drugie jest w równym stopniu ważne, więc tworzenie klas tylko ze zmiennymi albo tylko z funkcjami niewiele nam daje, dopiero połączenie obu pozwala wykorzystać masę funkcjonalności. Tworzysz klasę i później możesz stworzyć wiele obiektów, które są niezależne od siebie, mają inne dane (zmienne), ale korzystają z tych samych metod. Trywialny przykład:
Coś bardziej zbliżonego do Twojego kodu - obiekt 'Tabela':
Oczywiście to też przykład trywialny, jedynie obudowanie zwykłego arraya, ale niewiele zmieniając można już poprawić trochę jakość zwyczajnej tablicy, np. walidować dane wejściowe, czyli w funkcji addRow sprawdzać czy $text jest taki jak nam odpowiada, czy nie jest za długi etc. etc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 01:07 |