• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Klasy, tablice w PHP

Object Storage Arubacloud
0 głosów
310 wizyt
pytanie zadane 13 maja 2020 w PHP przez Hardwell Dyskutant (8,980 p.)
Witam, z racji iż trochę uczę się o PHP to napisałem już system logowania i rejestracji do strony, teraz przyszedł czas "ogarnąć" klasy i tablice w PHP, wiem, że w necie pełno materiału, przeglądałem ich trochę, ale niestety zbytnio nadal nie rozumiem do czego to służy, (np. nie mam pojęcia gdzie mógł bym wykorzystać klasy), często widzę "$this ->" i też zbytnio nie wiem do czego to służy, zwłaszcza co oznacza to "->" czyli prosto mówiąc takie laikowate podstawy, jest ktoś w stanie wytłumaczyć mi to na "chłopski rozum"? wiem, że najlepiej się uczy pisząc projekty itd, ale nie mam pojęcia gdzie to właśnie mogę zastosować

1 odpowiedź

+1 głos
odpowiedź 18 maja 2020 przez Assasz Nałogowiec (30,460 p.)
wybrane 24 maja 2020 przez Hardwell
 
Najlepsza

Programowanie obiektowe to po prostu modelowanie świata za pomocą obiektów ;) Weźmy za przykład to co masz (prawdopodobnie) przed oczami: biurko, monitor, komputer itd.

Każdy z tych przedmiotów jest obiektem - np. twój monitor Dell jest instancją (obiektem) klasy Monitor. Posiada pewne własności (wysokość, rozdzielczość itd.) oraz metody (wyświetl obraz, pokaż menu). Z kolei twój konkretny komputer (który jest instancją klasy Komputer) również posiada swoje własności oraz metody.

Zatem mamy dwa obiektu i teraz wypadałoby wymodelować relacje między nimi. Np. aby wyświetlić jakiś obraz na monitorze (czyli wywołać metodę wyświetlObraz - display) należy najpierw podłączyć go do komputera. Mogłoby to wyglądać mniej więcej tak:

class Monitor
{
    private $computer;

    public function connect(Computer $computer)
    {
        $this->computer = $computer;
    }

    public function display()
    {
        // aby wyświetlić obraz potrzebujemy połączonego kompa
        if (!$this->computer instanceof Computer) {
            return;
        }

        // ...
    } 
}

Bardziej łopatologicznie się nie da ;) Najważniejsze, aby zrozumieć samą ideę tego podejścia, bardziej zaawansowane zagadnienia same przyjdą z czasem i praktyką.

BTW tablice nie są elementem programowania obiektowego i wywodzą się z programowania strukturalnego. Nie są one klasami (czy ich rodzajami), tylko typem generycznym składującym pewne dane. 

Podobne pytania

0 głosów
2 odpowiedzi 485 wizyt
pytanie zadane 4 kwietnia 2016 w C i C++ przez zuzka_kotek Początkujący (290 p.)
0 głosów
0 odpowiedzi 127 wizyt
pytanie zadane 25 maja 2019 w C i C++ przez adus Nowicjusz (120 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...