[ Príspevkov: 42 ] 1, 2
AutorSpráva
Offline

Skúsený užívateľ
Skúsený užívateľ
OOP v PHP

Registrovaný: 29.10.07
Prihlásený: 12.06.17
Príspevky: 1408
Témy: 28 | 28
Bydlisko: Bratislava
Vek: 36
NapísalOffline : 23.11.2009 10:31 | OOP v PHP

Tak ako pise stenley. Objektove programovanie ma vyznam hlavne vtedy, ak vyuzijes specialne vlastnosti tried a objektov (teda spominanu dedicnost atd).

Ak si niekto vytvory objekt pre pracu s databazou ktory ma napr 6 metod, tak to moze mat kludne 6 funkcii a vlastnosti triedy nahradit globalnymi premennymi :) Nebude to sice az take "pekne", ale ak to bude mat v zvlastnom zdrojaku tak to nebude ani "skarede". Tieto 2 riesenia budu ronako dobre.

Ak sa v PHP pre zaciatok vyhnes OOP, nic nepokazis. Vsetci co programuju viac nez par rokov totiz tiez zacinali na procedurach.


_________________
PC: OS: Windows 10 (64bit) CPU: INTEL Core i5-4440 GPU: ASUS ATI R9280X RAM: Kingston 8GB DDR3 1600MHz MB: MSI B85-G43 Gaming HDD: Seagate 1TB HDD Barracuda SSD: SAMSUNG 120GB HDD 840 EVO CASE: COOLERMASTER N400
Mobil: OS: Android 4.4.2 Model: LG G2 D802 16GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 24.11.2009 12:11 | OOP v PHP

Výhoda je asi taká. Predstav si že by si mal programovať križovatku (nemusí to byť v PHP, ale všobecne). Na križovatku prídu autá, a každé musí niekde chcieť ísť, a každé sa musí správať podľa predpisov. Urobiť toto proceduralnym spôsobom je niekoľko násobne ťažšie, než cez OOP. Prečo?
Lebo v OOP by si naprogramoval všeobecné spravanie každého auta, zatiaľ čo cez procedúry by si musel riešiť každé auto.


Offline

Užívateľ
Užívateľ
OOP v PHP

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 25.11.2009 16:26 | OOP v PHP

Prečo? Dal by som auto($suradnice-z, $suradnice-kam) a vo funkcií by som zaznamenal predpisy pre každé auto.


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Užívateľ
Užívateľ
OOP v PHP

Registrovaný: 10.02.08
Prihlásený: 15.05.17
Príspevky: 2270
Témy: 48 | 48
Bydlisko: Nitra
NapísalOffline : 25.11.2009 16:47 | OOP v PHP

Bože flety :D Proste OOP je vhodné na väčšie projekty a veci kde je kód prehladnejší a rýchlejší a lepší ako procedurálny :D Nikto ti neprikazuje používať OOP a vymazať funkcie :D Veď aj taká trieda by bola vlastne bez funkcií stratená...


_________________
WYSIWYMGIYRRLAAGW: What You See Is What You Might Get If You’re Really Really Lucky And All Goes Well.
Offline

Užívateľ
Užívateľ
OOP v PHP

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 25.11.2009 17:23 | OOP v PHP

Flety píše:
Prečo? Dal by som auto($suradnice-z, $suradnice-kam) a vo funkcií by som zaznamenal predpisy pre každé auto.


A co by si spravil ak b ysa tam zdrazu objavila motorka, ktora ma dajme tomu troskicku ine predpisy?


Offline

Užívateľ
Užívateľ
OOP v PHP

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 27.11.2009 18:50 | OOP v PHP

Čo by si spravil v triede, čo by som nemohol spraviť vo funkcií?

Svolo, nechcem sa hádať, možno je lepšie to OOP ale zatiaľ ma nikto o tom nepresvedčil. Bol by som rád, aby ste si tento názor obhájili tak, aby som videl, že to OOP je vážne výhodnejšie a oplatí sa študovať tento spôsob myslenia a programovania.


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Čestný člen
Čestný člen
OOP v PHP

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 27.11.2009 20:11 | OOP v PHP

Pointa, preco OOP pouzivam ja, je ta, ze trieda moze mat aj metody, aj cleny. Funkcie s premennymi nedas dokopy, pokial si nechces zababrat kod globalnymi premennymi. Ak zoberieme priklad s autom, vytvorim si triedu Auto, ktora bude mat cleny x a y ako suradnice a metody hore(), dole(), doprava(), dolava(), pricom mozem si povytvarat desat aut a vsetky budu mat metody a cleny nezavisle od seba. Ako by si toto chcel riesit bez OOP? Vytvoris si polia vsetkych X a Y suradnic? Alebo si vytvoris jednotlive auta ako polia s X a Y suradnicou a budes pouzivat funkcie na posun, kde parameter bude musiet byt aj auto? Obe moznosti su na hlavu postavene.
Porovnaj si zapis
Kód:
$xml = new XMLWriter();
$xml->openURI('subor.xml');
$xml->startDocument('1.0', 'UTF-8');
$xml->endDocument();
a
Kód:
$xml = xmlwriter_open_uri('subor.xml');
xmlwriter_start_document($xml, '1.0', 'UTF-8');
xmlwriter_end_document($xml);
Na troch riadkoch sa to mozno nezda, ale ta prehladnost v OOP vitazi.
Dalo by sa hovorit o dedicnosti, abstrakcii a inych srandach, ale najprv treba prist na chut zakladom OOP.


Offline

Užívateľ
Užívateľ
OOP v PHP

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 27.11.2009 20:48 | OOP v PHP

Teda pokiaľ správne chápem, tak trieda má kvázi podfunkcie, ktoré voláš tou šípkou(zrejme sú to tie metódy) a parametre sa zadávajú ako do funkcií. Je tak? Myslím, že začínam chápať načo to je dobré. Ale myslím, že učiť sa to ešte nebudem. V reálnom programovaní PHPčkom nevidím až také uplatnenie. A možno sa raz dostanem aj k tomu a ani nebudem vedieť ako.


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Skúsený užívateľ
Skúsený užívateľ
OOP v PHP

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 27.11.2009 20:52 | OOP v PHP

Ak dovolíte, niečo k tomu poviem aj ja.

Obhajovať použitie OOP v nejakom projekte, pretože má krajšiu syntax je úplná kravina. Syntax môže byť krajšia či škaredšia, ale na základe syntaxe sa nedá povedať, že tento prístup/jazyk je lepší ako druhý (aj brainfuck je Turing-complete, ale dôvod prečo v ňom nebudete písať riadenie križovatky nie je to, že jeho príkazy sú ničnehovoriace symboly < > + - . , [ ], ale to, že ich je len 8!). Navyše:
Ďuri píše:
Alebo si vytvoris jednotlive auta ako polia s X a Y suradnicou a budes pouzivat funkcie na posun, kde parameter bude musiet byt aj auto?
Toto je len vecou syntaxe, väčšina jazykov s OOP prístupom pri volaní nestatickej metódy používa inštanciu objektu ako akýsi implicitný parameter, nie však Python. Z pohľadu syntaxe používa Python rovnaký prístup, ako ten, čo Ďuri vysmial. Sémanticky však de o dve úplne zásadne sa odlišujúce veci a sémantika je to čo sa počíta.

Ten pravý dôvod, prečo niekde použiť OOP a inde nie je vysvetlený napr. tu. V konečnom dôsledku odpoveď na otázku
Flety píše:
Čo by si spravil v triede, čo by som nemohol spraviť vo funkcií?
je nič; ale prakticky naozaj zložitejšie veci v OOP spravíš skôr, lepšie, kvalitnejšie a sémanticky prehľadnejšie vďaka intenzívnemu využívaniu vecí ako dedičnosť, polymorfizmus, zapuzdrenie atď...


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
OOP v PHP

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 27.11.2009 20:59 | OOP v PHP

OK, takže keď sa začnem strácať vo svojich projektoch alebo uvidím, že funkciami to proste nejde tak začnem s OOP ale keďže OOP nedokáže z pohľadu funkčnosti nič viac ako procedúry/funkcie ostávam zatiaľ pri nich.


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Čestný člen
Čestný člen
OOP v PHP

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5447
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 28.11.2009 1:14 | OOP v PHP

Ja sa tiež vo svojich osobných projektoch vyhýbam OOP, stále je pre mňa jednoduchšie urobiť si funkcie ako vytvárať nové a nové triedy. Ale napriek tomu som už pre určité zjednodušenie svojej práce dokončil niekoľko tried, ktoré neustále "recyklujem". A na toto sa práve OOP hodí, recyklovanie jednotlivých postupov - nemusíš vytvárať niečo, čo si už vytvoril. Aj keď rovnako dobre môžeš použiť nejakú hotovú funkciu, alebo časť kódu, častejšie sa mi tam objavovali chyby.

Tiež si musíš uvedomiť, že veľa moderných jazykov sú od základu objektovo orientované. Teraz sa venuješ PHP, ak sa začneš venovať objektom, budeš mať výhodu do budúcnosti. Napríklad ako ja - práca ma prinútila robiť v .NET a keďže som už predtým mal vedomosti o OOP (práve v php), tak to nie je pre mňa úplná španielska dedina.

Ale aby som to uzavrel, neber OOP ako všeliek a jedinú správnu cestu. Časom budeš sám vedieť rozpoznať, kedy sa ti oplatí napísať pár funkcií a tie spojiť dokopy, alebo si vytvoriť jednu veľkú triedu a tú použiť na stránke. Líši sa to od projektu a od tvojich potrieb.


_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 28.11.2009 16:01 | OOP v PHP

Ja to vidím tak, že OOP nevytláča funkcie. Funkcie sú dobré na jednu jednuchú záležitosť, previsť dátum z timestamp v DB do času priateľného pre človeka. Tam dávať OOP by bolo nezmyselné, lebo nevyužiješ jeho výhody, iba sa viac napíšeš. Alebo si pozri stenleyho funkcie v často používaných scriptoch -> Pekné URL -> jednoduchá, jednoúčelová funkcie.

OOP používam vtedy ak sa na jednu vec viažiu dve a viac vecí, alebo rieši jednu zložitú vec. Napríklad: vytvorenie, kontrola a vymazanie tokenu alebo samotný template parser ( z iných tried viď. známy PHPmailer).


 [ Príspevkov: 42 ] 1, 2


OOP v PHP



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

OOP PHP

v PHP, ASP

1

309

29.04.2010 17:32

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

PHP OOP

v PHP, ASP

3

126

18.02.2013 7:20

DeiForm

V tomto fóre nie sú ďalšie neprečítané témy.

OOP v PHP

v PHP, ASP

1

615

02.06.2009 11:02

walther

V tomto fóre nie sú ďalšie neprečítané témy.

[PHP] OOP diskusia

v PHP, ASP

7

2137

30.03.2015 12:59

majky358

V tomto fóre nie sú ďalšie neprečítané témy.

database class, oop php

v PHP, ASP

10

499

16.02.2010 15:12

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

PHP OOP MYSQLi Class

v PHP, ASP

6

312

08.04.2012 15:42

lolexc

V tomto fóre nie sú ďalšie neprečítané témy.

OOP PHP problémy začiatočníka

v PHP, ASP

11

224

13.11.2014 13:29

Mego

V tomto fóre nie sú ďalšie neprečítané témy.

oop php - vyuzitie, vyhody

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

32

1890

24.05.2008 15:04

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

oop v php - predavanie udajov

v PHP, ASP

1

188

16.02.2010 19:06

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

OOP

v PHP, ASP

20

966

29.02.2008 20:24

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

OOP kniha

v Assembler, C, C++, Pascal, Java

3

287

02.12.2011 21:36

matwej

V tomto fóre nie sú ďalšie neprečítané témy.

OOP, premenna

v PHP, ASP

1

432

26.10.2009 21:44

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

menu v oop

v PHP, ASP

2

162

07.11.2011 20:32

walther

V tomto fóre nie sú ďalšie neprečítané témy.

OOP pripojenie databazy

v PHP, ASP

4

361

11.09.2010 15:44

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

OOP a konstruktor

v PHP, ASP

8

406

01.04.2008 17:06

vl4kn0

V tomto fóre nie sú ďalšie neprečítané témy.

Lazarus OOP smernik

v Delphi, Visual Basic

0

179

30.03.2014 1:56

F3RY



© 2005 - 2017 PCforum, edited by JanoF