Autor Zpráva
andy7
Profil *
ahoj mám jeden dotaz na vás. Programujem v php asi cca rok ale stále nie OOP. Moja otázka teda znie: ako kde a kedy používať OOP a kedy nie.. možete dať aaj príklad načo to využiť. vždy som si vystacil s funkciami tak by som rád vedel teda kedy mi len tie funkcie nebudu už postačujúce. diky
Ugo
Profil
vzdy budou stacit jen funkce, k OOP jednou dojdes (nebo taky ne) sam, naopak pokud dělás projekty který spravuješ jenom ty a vyznáš se v tom, tak je pro tebe lepší se použití OOP na těhle věcech vyhnout. Víceméně OOP využiješ hlavně na samostatné moduly, tam se ti bude hodit uchovávat parametry a funkce odděleně od zbytku - abys měl jistotu že se ti to s ničim netluče. OOP je víceměně názvové rozdělení kódu, z čehož plyne, že u větších věcí se ti to bude hodit na přehlednost a zabránění aby soubor na řádku 1000 nepřepsal proměnou z řádku 1 jinýho souboru (aneb jak se říká ta nepravdivá povídačka, že globální proměnné sou zlo). Znova říkám, pokud k tomu nemáš důvod, není nutné se do toho hrnout (OOP je rapidně pomalejší než normální procedury)
Joker
Profil
andy7:
To není tak, že na něco by se používalo OOP a na něco strukturované programování.
OOP je prostě jiné paradigma, byť teda PHP umožňuje obě míchat.

Čili asi jakýkoliv PHP skript lze napsat buď strukturovaně nebo objektově, není to (nebo nemělo by to být) tak, že na jednu část skriptu jsou lepší objekty tak tam dám objekty a zbytek udělám strukturovaně.
andy7
Profil *
Joker čo si napísal to mi je jasné ale ja by som skor potreboval konkretne veci kedy OOP pouzit a kedy nie. Zatial používam len strukturované programovanie. Ale chystám sa napísať e-shop. ale čo sa týka štrukturovaného programovania tak myslím že by som sa v kóde ťažšie vyznal. OOP mi príde prehladnejšie ale zasa pracnejsie napr v oop by bol kod

class uzivatel{
public $nick;
  function vypis($nick) {
    $this->nick=$nick;
  }
}
$moj_nick= new .. bla bla


ale v strukturovanom by to bolo len
echo $nick; 
Bertram
Profil
andy7:
ale v strukturovanom by to bolo len

echo $nick;

Undefined variable: nick in ...


Osobně se přikláním k OO přístupu, výhody jsou zásadní, ale vyjmenovávat je nebudu, abych nevynechal ty, na které teprve přijdu :).
Joker
Profil
andy7:
Dnes je hlavní trend OOP.
Když to vezmu opravdu stručně, OOP zjednodušuje orientaci v kódu, znovupoužití již dříve napsaného kódu, spolupráci a používání kódu více programátory a komunikaci mezi zadavatelem, analytikem a programátorem (díky tomu, že jsou vypracované i metody objektové analýzy).
Z toho je vidět, že výhody OOP se projeví hlavně u větších projektů, resp. čím větší projekt, tím to bude zjevnější.

Nevýhodou OOP je, že objektový program bude pomalejší než dokonale optimalizovaný strukturovaný program řešící stejný problém.
To „dokonale optimalizovaný“ je tam schválně, protože zároveň se uvádí, že díky výše uvedeným vlastnostem OOP reálná objektová aplikace bude typicky obsahovat méně chyb a bude bližší tomu ideálnímu stavu než strukturovaná aplikace, takže u reálného velkého systému mohou nakonec objekty být rychlejší než strukturovaný program.
Nicméně PHP má poměrně velkou režii na OOP, takže tam asi budou objekty většinou pomalejší.
Na druhé straně objektová aplikace bude typicky rychleji hotová (zejména pokud se podaří využít třídy které už byly napsané dříve pro jiné projekty, pak může být rozdíl skutečně propastný) a snazší na údržbu.
K
Profil *
andy7:
Vhodné pro:
- kariéru programátora
- větší nebo teamový projekt
- snadnější pochopení dalších jazyků
- orientaci v OOP kódu třetích stran
- analytické myšlení

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0