| | |
Autor | Správa |
---|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 17.11.2009 16:43 | |
|
Mám doma knihu o PHP a je rozdelená do dvoch častí. OOP a klasické funkcie.
Keď tak čítam to OOP, tak mám z toho desný pocit a nevidím jeho využitie na webe. Je tam čosi o tom aj napísané v tom zmysle, že to pre web moc použiteľné nieje, ale keďže sa všade o objektovom PHP píše, tak neviem čo si mám o tom myslieť. Priznávam, ide z toho na mňa des a radšej by som bol, keby to nebolo a keby som sa na to mohol vykašľať.
Používa sa to teda na webe, alebo nie?
|
|
Registrovaný: 31.05.09 Prihlásený: 02.06.17 Príspevky: 562 Témy: 37 Bydlisko: BegyBen |
Jasne ze pouziva OOP nie je ziadna veda. PHP sidce neponuka tolko moznosti ako napr. C# aj ked dnes je uz na slusnej urovni. Ide o inu ideologiu ale neni na tom nic strasne. Dobre je ak si to budes kombinovat a skusat v PHP trosku mixovat proceduralne programovanie s OOP. Nie je dobre zavrhnut OOP a kodit len proceduralne. Napis si par tried a uvidis sam...
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal autor témy camo: 17.11.2009 17:08 | |
|
No, ale príde mi to, ako spomalenie webu, keďže najprv sa musia vytvoriť všetky inštancie a až potom sa začne generovať HTML. Tak je to nejak aj v tej knihe napísané. hlavne o to mi ide.
|
|
Registrovaný: 24.10.09 Prihlásený: 09.12.09 Príspevky: 87 Témy: 6 Bydlisko: Slovensko |
OOP je dôležité vedieť takmer všetky vätšie aplikácie sú napísané v OOP.
|
|
Registrovaný: 31.05.09 Prihlásený: 02.06.17 Príspevky: 562 Témy: 37 Bydlisko: BegyBen |
camo píše: No, ale príde mi to, ako spomalenie webu, keďže najprv sa musia vytvoriť všetky inštancie a až potom sa začne generovať HTML. Tak je to nejak aj v tej knihe napísané. hlavne o to mi ide.
Zase take spomalenie webu to nebude
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal autor témy camo: 17.11.2009 17:17 | |
|
No dobre, dúfal som, že sa zaobídem aj bez toho. Ide z toho na mňa des
|
|
Registrovaný: 31.05.09 Prihlásený: 02.06.17 Príspevky: 562 Témy: 37 Bydlisko: BegyBen |
camo píše: No dobre, dúfal som, že sa zaobídem aj bez toho. Ide z toho na mňa des
Bez toho sa smozrejme zaobides a mozes aj vacsi projekt spravit cisto proceduralne ale OOP ma nepopieraelne vyhody a celkovo je to prehladnejsie, nepotrebujes robit tku podrobnu dokumentaciu a pod. Vyhod je velmi vela a velmi vela je to tom vsade pisane. Jedine ako to zistis je ze si to skusis
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 |
Pri objektovom programovaní sa ľahšie spĺňa DRY.
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
camo píše: No, ale príde mi to, ako spomalenie webu, keďže najprv sa musia vytvoriť všetky inštancie a až potom sa začne generovať HTML. Tak je to nejak aj v tej knihe napísané. hlavne o to mi ide.
HTML sa ti generuje vždy nakonci, či robíš procedurálne alebo objektovo. (teda ako sa to vezme)
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 |
No kód, kde máš pomiešané všetko dokopy - dizajn aj logika, všetko nakope, je ešte stále dosť bežnou praxou (dosť odpornou).
Pokiaľ ide o to spomalenie - nie je to nič závažné, kvôli čomu by bolo treba obetovať pekný kód.
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal autor témy camo: 18.11.2009 22:49 | |
|
Tominator:
Ale aj priebežne.
To all:
No ale zrátava sa predsa dokopy veľkosť HTML + obrázky+ rýchlosť serveru + zaťaženosť siete + PHP. Takže nejde len o kód.
|
|
Registrovaný: 24.09.06 Prihlásený: 15.07.23 Príspevky: 1427 Témy: 37 Bydlisko: Bratislava |
Keď sa skript vykonáva dlhšie ako by sa mal, tak si ho zle napísal, bez ohľadu na to, či používaš alebo nepoužívaš OOP.
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 18.11.2009 23:50 | |
|
camo píše: Ale aj priebežne. To si môžeš dovoliť len pri veľmi jednoduchých stránkach, pri nich asi fakt OOP prístup naplno nevyužiješ. Veľká väčšina poriadnych projektov (frameworky, CMS...) funguje na OOP. Koniec-koncov, na programovanie stránok môžeš použiť v podstate akýkoľvek jazyk - bežné sú skriptovacie Perl, Python, Ruby, ale aj C# či Java. V Perl-e OOP použiť nemusíš, ale v Pythone, C# a Jave je takmer všetko objekt a v Ruby je dokonca úúúplne všetko objekt (aj čísla).
_________________
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. |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal autor témy camo: 19.11.2009 0:35 | |
|
Takže pre začiatok sa vzdám väčších projektov, frameworkov, CMS a pod. a budem robiť jednoduché stránky.
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 19.11.2009 8:45 | |
|
Heh, tak keby si chcel od začiatku robiť veľké veci, musel by si byť génius, aby ti to skutočne fungovalo.
_________________
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. |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
camo píše: Tominator:Ale aj priebežne. To all:No ale zrátava sa predsa dokopy veľkosť HTML + obrázky+ rýchlosť serveru + zaťaženosť siete + PHP. Takže nejde len o kód.
Tak priebežne ... ono aj tak sa to musí nakonci celé pospájať a poslať prehliadaču ...
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 20.11.2009 18:35 | |
|
OOP sa myslí iba generovanie stránke cez nejaký template parser alebo aj niečo naviac ak je to iba o tom template parsovaní tak v poslednom čase zisťujem, že je to naozaj jednoduchšie ale aj tak mám radšej spájanie designu a logiky, niekomu sa to zdá odporné a niekomu jednoduchšie a rýchlejšie.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 20.11.2009 18:43 | |
|
Flety píše: OOP sa myslí iba generovanie stránke cez nejaký template parser Pockaj, nerozumiem. OOP zdaleka nie je iba o parsovani template, aj ked ano, template trieda sa ti naozaj moze zist. Ja OOP pouzivam prakticky na vsetko, ak robim nejaky system, kod potom moze byt omnoho prehladnejsi.
Samozrejme si vzdy vsetky triedy pisem sam, nechcem mat v kode nic zbytocne.
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 20.11.2009 18:46 | |
|
Tak čo to teda robí? Viem že to ešte pracuje so súbormi ako napríklad zip, rar či upravuje obrázky a tak ale je to v podstate to isté ako keby som si namiesto jedenej triedy napísal jednu funkciu?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 20.11.2009 19:23 | |
|
OOP nie je nic konkretne, to je len sposob programovania - vytvoris si objekty, ktore mozu mat metody (ekvivalent funkcii) a clenov (ekvivalent premennych). Pekne to je vidiet na Javascripte, ktory je cely objektovy - mozes napr. zapisat
Kód: document.getElementById('foo').parentNode.nextSibling.getElementsByTagName('bar') miesto nejakeho proceduralneho Kód: getElementsByTagName('bar', nextSibling(parentNode(getElementById('foo', document)))) Snad vidis, co je prehladnejsie.
Ono nejde o 1 funkciu. Ak by sa nieco dalo zapisat do 1 funkcie, nema zmysel vytvarat triedu. Ale v triede moze jedna metoda volat druhu alebo mozu metody medzi sebou zdielat premenne, ktore nie su globalne, co sa pri beznych fciach neda.
To, o com hovoris ty, su len konkretne triedy. Ale aj tie triedy maju vela metod, napr. pozri tuto. Prepisovat to do fcii by bolo menej prehladne.
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 20.11.2009 19:33 | |
|
Takže v podstate to nie je nič bez čoho by som sa nezaobišiel.
|
|
Registrovaný: 04.04.07 Prihlásený: 27.06.21 Príspevky: 532 Témy: 35 Bydlisko: Bratislava | Napísal djsulo: 20.11.2009 20:43 | |
|
nechapem co tu riesite... Flety, skus si naprogramovat nieco vacsie (nemyslim ziaden eshop a podobne) v proceduralnom programovani a pozri sa do toho o par mesiacov... hlava sa ti zatoci. oop bol urcite obrovsky krok vpred pre php. ja osobne mam urobene svoje triedy, ktore sa daju pouzit hocikde. a ver, ze ti to usetri polovicu zivota...
_________________ CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX |
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 Bydlisko: Bratislava |
To ze pri programovani pouzivas par tried este neznamena ze mas objektovo orientovany kod
Garantujem vam ze minimalne polovica z vas by sa v cisto objektovo napisanom php projekte vobec nevyznala. Akurat ste taky este nevideli
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 02.08.09 Prihlásený: 23.03.22 Príspevky: 305 Témy: 83 Bydlisko: Liptovský H... |
camo pomaličky si choď krok za krokom. To je dobrá voľba, že si si na učenie nejakého jazyka kúpil knihu. Aspoň mne príde kniha na toto lepšie, ako internet, lebo môžeš sa jej dotknúť, ovoniať ju, pohodlne sa v nej orientovať, máš zaručenú trvanlivosť údajov a hlavne máš na jedne kope dosť veľa toho, čo potrebuješ vedieť. Ak máš nejakú referenčnú príručku (to sú asi nahrubšie knihy o programovaní), tak tam nájdeš o danom jazyku fakt všetko dôležité a nemusíš sa prácne a väčšinou aj dlho prehrabávať v útržkoch porozhadzovaných na internete. Poriadna kniha o programovaní je síce poriadne drahá (môj osobný rekord 50 €), ale určite to stojí za to. Človeka, ktorý sa ešte nevyzná vodí tak povediac za ručičku a odhaľuje mu nepoznaný svet tak, ako to internet nedokáže. Ja mám z oblasti programovania, grafiky a Linuxu už 25 kníh vrátane programátorských slovníkov a minimálne mám z nich potešenie aj keď to málokto chápe. Mama mi ich nesmie ani poukladať
_________________ Keď niekoho baví snowboard, povie sa, že je snowboardista. Keď niekoho bavia autá, povie sa mu, že je motorista. Keď niekoho baví tvorenie hudby, povie sa mu, že je hudobník. Keď niekoho baví programovanie a IT, povie sa mu, že je závislák. |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal autor témy camo: 21.11.2009 17:54 | |
|
Tak dík moc za odpoveďe.
Len ešte doplním, že aj keď používa človek OOP, musí vedieť čo tie jednotlivé triedy dokážu a to je to isté ako vedieť, čo robia jednotlivé funkcie, nie? Len to lepšie vyzerá v kóde. Ale pre pochopenie kódu je potrebné aj tak vedieť čo ktorá trieda v sebe obsahuje. A to je zase nový rozsah príkazov, ktoré treba ovládať a teda pre začiatočníka ešte väčší chaos.
Uznávam, že čitateľnosť kódu je omnoho lepšia, ale tá rýchlosť v súvislosti s WWW stránkami a rozsah príkazov jazyka, ktoré treba ovládať, ma prikláňa k funkciám.
Teda pre začiatok by som sa tým radšej netrápil. Možno tak o dva roky.
|
|
Registrovaný: 04.04.07 Prihlásený: 27.06.21 Príspevky: 532 Témy: 35 Bydlisko: Bratislava | Napísal djsulo: 21.11.2009 18:29 | |
|
GoodWill: nj, to iste by som mohol povedat ja o tebe. a strukturovane vobec neprogramujem, ak narazas na to. mam vlastne mvc...
_________________ CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
Flety: OOP je vlastne skupina funkcií ktoré so sebou navzájom spolupracujú. Môžem im aj prideliť spôsob komunikácie cez interface a podobne. Je to bežná vec v programovancích jazykoch ako C či Java (a dnes už skoro vo všetkých).
Výhody PHP:
1. prehľadnosť -> OOP kód je vždy prehľadnejší
2. univerzálnosť -> každá dobrá OOP trieda by mala byť univerzálna
3: zapuszdrenosť -> teda kopec práce pod jednou strechou
Mne sa na tom páči hlavne to, že môžem krokovať Ale tak obrovská výhoda OOP je to, že si môžeš urobiť "triedy na všetko", a potom už iba riešiš:
Zmenšenie obrázka -> OOP trieda image
Nahratie obrázka na server -> OOP trieda upload
Komunikácia s DB -> OOP trieda mysql
Vypísanie výsledku -> OOP trieda template parser
A to môžeš využívať aj v 10 rôznych súboroch, v inom poradí a pod. Čiže všetko je univerzálne a napíšeš sa omnoho menej.
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 21.11.2009 22:40 | |
|
Ak tomu správne rozumiem tak mám jedno či si vytvorím triedu s 10 funkciami a 10 procedúrami, alebo si vytvorím funkciu s 10 inými funkciami a 10 procedúrami. Rozdiel je iba v tom, že to neapíšem Kód: getElementsByTagName('bar', nextSibling(parentNode(getElementById('foo', document)))) ale Kód: document.getElementById('foo').parentNode.nextSibling.getElementsByTagName('bar')
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
myslim si, ze "zaciatocnik" vyhody oo programovania nikdy nepochopi (alebo len velmi tazko), ak nebude vidiet vedla seba ukazkovy proceduralny a oop kod, ktory sluzi na tu istu vec... zbytocne sa mu bude vysvetlovat dedicnost, polymorfizmus, zapuzdrenie, abstrakcia, ak sa s tym v zivote nestretol, a teda nevie, na co vsetko sa to da vyuzit... oop pride "na chut" az v skutocne plnohodnotnych oop jazykoch, a nie v php, ktory sa v tomto smere v sucasnej verzii povazuje za slaby odvar resp. nepodarok...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 22.11.2009 13:24 | |
|
Takže kým sa budem zaoberať iba PHPčkom, nemusím sa o OOP zaujímať? A je to tak, že OOP sa líši len zápisom, alebo toho dokáže spraviť viac ako procedurálne?
|
|
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| PHP OOP v PHP, ASP | 3 | 290 | 18.02.2013 7:20 DeiForm | | OOP PHP v PHP, ASP | 1 | 487 | 29.04.2010 17:32 stenley | | OOP v PHP v PHP, ASP | 1 | 856 | 02.06.2009 11:02 walther | | [PHP] OOP diskusia v PHP, ASP | 7 | 2444 | 30.03.2015 12:59 majky358 | | database class, oop php v PHP, ASP | 10 | 777 | 16.02.2010 15:12 rooobertek | | PHP OOP MYSQLi Class v PHP, ASP | 6 | 650 | 08.04.2012 15:42 lolexc | | oop php - vyuzitie, vyhody [ Choď na stránku: 1, 2 ] v PHP, ASP | 32 | 2331 | 24.05.2008 15:04 Tominator | | OOP PHP problémy začiatočníka v PHP, ASP | 11 | 463 | 13.11.2014 13:29 Mego | | oop v php - predavanie udajov v PHP, ASP | 1 | 347 | 16.02.2010 19:06 Ďuri | | OOP v PHP, ASP | 20 | 1378 | 29.02.2008 20:24 stenley | | OOP kniha v Assembler, C, C++, Pascal, Java | 3 | 534 | 02.12.2011 21:36 matwej | | Java OOP v Assembler, C, C++, Pascal, Java | 2 | 427 | 12.01.2018 14:33 camarovk19 | | OOP, premenna v PHP, ASP | 1 | 616 | 26.10.2009 21:44 rooobertek | | Lazarus OOP smernik v Delphi, Visual Basic | 0 | 516 | 30.03.2014 1:56 F3RY | | prihlasovanie, chyba, oop v PHP, ASP | 6 | 567 | 03.03.2011 14:52 janik366 | | OOP a konstruktor v PHP, ASP | 8 | 577 | 01.04.2008 17:06 vl4kn0 |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|