IT NEWS PC REVUE PC FORUMInternet time: @628
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Nebezpečné sociálne siete

Zisti bezpečnosť svojho profilu skôr, než to niekto zneužije. https://apps.facebook.com

Schudla som 15kg za 4 týždne

Zisti tajomstvo perfektnej postavy! Prečítaj si môj príbeh a zisti ako. www.janinblog.com

Malé vodné elektrárne Projekt

Projektovanie MVE, inžinierska činnosť Výpočet ekonomickej efektívnosti www.HydroTechnologia.sk

Digital Signage siete na kľúč

získaj dynamickým videoboardom zákazníka riešenia pre obrazovky s reklamou a info www.informacnepanely.sk

BiTiTi - váš super obchod

Výpočtová technika, elektronika a spotrebný materiál. Vsetko skladom . www.bititi.sk

Ako optimalizovat vykon triedy

Zaslať odpoveď
AutorSpráva
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 927

PríspevokZaslal: Pi 27.08.10 11:20Odpovedať s citátomNávrat hore

camo napísal:

No a pekne sa z toho vyvliekol coldak: ,,toto brat iba ako vseobecny pohlad , na presnu spravnost syntaxe nepozerat !,,

Coldak: ta veta znamena len tolko ze ak som urobil niekde nejaku sytnaxovu chybu tak aby sa do mna niekto nenavazal. priklad by mal byt spravny podla manualov PHP, ale chyba sa mohla vystkytnu. islo len o naznacenie ako by si mal spravne pouzivat OOP.

No ale neviem pochopiť načo je tam funkcia load()(podľa coldaka) dobrá. Načo je tam proste definícia tejto metódy, ktorá urobí to, čo musí urobiť vždy, teda podľa mňa by mala byť súčasťou metódy render().

Coldak: funkcia load($cfg) ma zabezpecit nacitanie dat do nejakej tvojej internej struktury ktora este nebude priamo HTML. preco ? no lebo nikde v zadani som nevidel ze menu musi byt iba pomocou UL,LI. ak by potrebovali generovanie pomocou JS, tak si iba odvodia novu triedu od tvojej a overidnu tvoju funkciu render() svojou v ktorej to urobia po novom no nebudu musiet zase riesit loadovanie a parsovanie suboru nakolko tu funkcionalitu zdedia od tvojej povodnej triedy. Skus sa trochu povenovat OOP.

Predpokladám že getLevel() je volaná z metódy render(). Tak?? Však ako inak, keď je privat.

Coldak: ano, ale moze byt volana aj z load() alebo inej internej funkcie, ale treba davat pozor na staticke funkcie a premenne


Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Pi 27.08.10 11:26Odpovedať s citátomNávrat hore

Walter:
V pohode, nabudúce menej toho výsmechu a nič podobné sa neudeje... a môžeme diskutovať.
Ja som to zadanie dostal cez email a nebolo tam skoro nič, len to čo som už opísal + ten ich základ toho interface...

Coldak:
Ja som toho názoru, že www stránky sa majú optimalizovat na rýchlosť a teda, čím viac funkcii a čím viac parsovania a vyhodnocovania, tým horšie. Preto asi OOP má v PHP svojich odporcov, nie???
No a to s tým JS to už bolo proti všetkým pravidlám prístupnosti. Čo chudáci surfery na mobilných telefónoch a paranoici?
Veď za toto by ma v sekcii HTML ukameňovali. Tak ako to teda mám chápať???
Ja proste akosi OOP a www stránky nejako neviem spojiť dokopi. Ešte keď má firma svoj server len pre seba, ale nie ak sa delím o priestor s niekoľkými tisícami daľších domén... Či ako???

//edituj si prispevky! (stenley)
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 927

PríspevokZaslal: Pi 27.08.10 11:53Odpovedať s citátomNávrat hore

camo napísal:
Coldak:
Ja som toho názoru, že www stránky sa majú optimalizovat na rýchlosť a teda, čím viac funkcii a čím viac parsovania a vyhodnocovania, tým horšie. Preto asi OOP má v PHP svojich odporcov, nie???
No a to s tým JS to už bolo proti všetkým pravidlám prístupnosti. Čo chudáci surfery na mobilných telefónoch a paranoici?
Veď za toto by ma v sekcii HTML ukameňovali. Tak ako to teda mám chápať???
Ja proste akosi OOP a www stránky nejako neviem spojiť dokopi. Ešte keď má firma svoj server len pre seba, ale nie ak sa delím sa priestor s niekoľkými tisícami daľších domén... Či ako???


Camo, nik netvrdi ze je zle ak je stranka rychla. ale existuju aj velke projekty ktore si vyzaduju dost casto upgrade, tvoj programovaci pristup by mozno generoval rychlejsie tie stranky no robit zmeny v tak nakodovanej stranke je narocnejsie. to zistis ak sa niekedy dostanes k nejakemu naozaj rozsiahlemu projektu. OOP umoznuje aj efektivnejsie paralelne programovanie kde viac developerov koduje rozne casti projektu a staci im dohodnut si vyhovujuce interfaces. cize jeden moze robit na vizualnej stranke a dalsi na datovej. vdaka pouzitiu interfaces maju zarucene ze ten co robi vizualnu cast dostane k dispozicii implementacie tried ktore mu v jeho casti projektu budu fungovat bez dodatocnej upravy.
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Pi 27.08.10 12:07Odpovedať s citátomNávrat hore

No však keď sa dohodnem s niekým, ako to bude pracovať, tak v pohode. Samozrejme že obsah sa má oddeliť od formy, ale v tom problém môjho prístupu nevidím. Veď tá trieda nieje pevnou súčasťou stránky. ak tam chceš mať niečo iné zavoláš iný render() To menu predsa nemá nič čo by definovalo jeho vizuálnu stránku, či jeho umiestnenie, to je vec CSS. Môžeš si z neho spraviť rozbalovacie aj vysúvacie a všetko na dvoch miestach. Trochu v metóde render, trochu v CSS. Ani v zložitejších projektoch nepredpokladám jednoduchšie riešenie.
Ako to podla teba môj prístup obmedzuje?? Možno sa opakujem, ale asi mi to ešte nedochádza.
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 927

PríspevokZaslal: Pi 27.08.10 12:25Odpovedať s citátomNávrat hore

camo napísal:
No však keď sa dohodnem s niekým, ako to bude pracovať, tak v pohode. Samozrejme že obsah sa má oddeliť od formy, ale v tom problém môjho prístupu nevidím. Veď tá trieda nieje pevnou súčasťou stránky. ak tam chceš mať niečo iné zavoláš iný render() To menu predsa nemá nič čo by definovalo jeho vizuálnu stránku, či jeho umiestnenie, to je vec CSS. Môžeš si z neho spraviť rozbalovacie aj vysúvacie a všetko na dvoch miestach. Trochu v metóde render, trochu v CSS. Ani v zložitejších projektoch nepredpokladám jednoduchšie riešenie.
Ako to podla teba môj prístup obmedzuje?? Možno sa opakujem, ale asi mi to ešte nedochádza.


v tvojom pripade kazda nova trieda bude musiet odznova riesit parsovanie suboru pokial budes pisat novy renderer lebo parsovanie suboru je sucastou renderera.
dalsia vyhoda oddelenia loadera a renderera je vtom ze ak sa zmeni format suboru alebo nebodaj zdroj dat pre menu ako taky tak sa iba vytvori nova trieda odvodena od povodnej a overidne sa iba funkcia load() , funkcia render sa zdedi v povodnom stave.
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Pi 27.08.10 13:00Odpovedať s citátomNávrat hore

Nejako sa v tom tvojom (značne teoretickom modeli) motám. Toto predsa nieje operačný systém, ale stránka... Ty predpokladáš toľko úrovní dedenia, že to podla mňa nieje reálne vo www využiteľné. Alebo nechápem?
Ach jo...

Má ešte niekto nejaké zaujímavé pripomienky...
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
walther
Užívateľ
Užívateľ

Založený: 24.01.2008
Príspevky: 9710
Bydlisko: Bratislava
Vek: 24

PríspevokZaslal: Pi 27.08.10 13:05Odpovedať s citátomNávrat hore

camo, pri stránkach aké sa tu najčastejšie prezentujú na fóre je oop viacmenej zbytočné.. problém nastáva pri rôznych portáloch a rozsiahlych stránkach, tam sa bez oop nepohneš a to sa ti tu snažili vysvetliť. optimalizácia triedy nespočíva len v optimalizácii rýchlosti, ale aj prehľadnosti, znovupoužiteľnosti... väčšina odporcov oop pri php v živote nepracovala na rozsiahlych projektoch
Zobraziť informácie o autoroviOdoslať súkromnú správu
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 927

PríspevokZaslal: Pi 27.08.10 13:11Odpovedať s citátomNávrat hore

presne ako povedal walter
apropo mam dojem ze v tej ulohe co si dostal islo aj o poreverenie tvojich znalosti ohladne OOP kedze tam boo jasne pozadovane pouzitie triedy
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Pi 27.08.10 13:22Odpovedať s citátomNávrat hore

Ja si myslím, že ani stredne veľký portál OOP nepotrebuje.
Asi nemám predstavu, čo taký portál vo vašom prevedení robí...

coldak:

Čo vlastne robí tvoja metóda load().
To načíta do premennej a volá miesto každého (môjho)echo, metódu render(). Lebo to by na výkone moc nepridalo myslím...
Render() by sa volal z load(), alebo z index.php.
A čo by vlastne robil ten render(). Vyechoval by predanú premennú, alebo čo aby to malo nejaký hlbší zmysel okrem prehľadnosti kódu.
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3715
Bydlisko: Bratislava
Vek: 26

PríspevokZaslal: Pi 27.08.10 13:27Odpovedať s citátomNávrat hore

coldak napísal:
apropo mam dojem ze v tej ulohe co si dostal islo aj o poreverenie tvojich znalosti ohladne OOP kedze tam boo jasne pozadovane pouzitie triedy

cize sa opat dostavame k tomu, co som pisal v uvode: je to zbytocna namaha, ked clovek nema dostatok vedomosti a skusenosti... najskor treba problematiku nastudovat a potom sa jej venovat prakticky podobny priklad je, ked zaciatocnik, ktory ledva ovlada zaklady, chce naprogramovat eshop alebo cms...

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 927

PríspevokZaslal: Pi 27.08.10 13:31Odpovedať s citátomNávrat hore

camo napísal:
Ja si myslím, že ani stredne veľký portál OOP nepotrebuje.
Asi nemám predstavu, čo taký portál vo vašom prevedení robí...

coldak:

Čo vlastne robí tvoja metóda load().
To načíta do premennej a volá miesto každého (môjho)echo, metódu render(). Lebo to by na výkone moc nepridalo myslím...
Render() by sa volal z load(), alebo z index.php.
A čo by vlastne robil ten render(). Vyechoval by predanú premennú, alebo čo aby to malo nejaký hlbší zmysel okrem prehľadnosti kódu.


funkcia load() by mala rozparsovat zdroj dat , v tvojom pripade textovy subor do nejakej inej struktury, napriklad viacrozmerne pole:
kód:

array("TV, audio, video",
         array("LCD televízory",
                   array("JVC",
                            "LG",
                            "Panasonic",
                            "Philips",
                            "Samsung",
                            "Sony"
                           )
                 ),
          array("LED televízory"
                 ) ,
          array("Plazmové televízory"
                 ) ,

        )


funkcia render() by potom z toho pola vygenerovala html content v tvojom pripade MENU.
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Pi 27.08.10 13:44Odpovedať s citátomNávrat hore

No veď to(viac rozmerné pole) je medzikrok, ktorý tam je úplne navyšše a okrem toho to generovanie viacrozmerného poľa určite bude vyzerať z pohľadu prehľadnosti kódu zversky. A v druhom kroku ho zase budeš prechádzať čo je druhý nadbytočný krok.

Ja skúsim tú moju triedu nejako vylepšiť a potom vám to dám zhodnotiť... Napadá ma že by sa dala veľmi legantne použiť tá tvoja funkcia strspn().
Jedno volanie a vráti level aj položku bez toho zverského poľa...
Veď povedz prečo to pole tam musí byť???
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3715
Bydlisko: Bratislava
Vek: 26

PríspevokZaslal: Pi 27.08.10 13:49Odpovedať s citátomNávrat hore

rekurzia ti nieco hovori?

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Pi 27.08.10 18:14Odpovedať s citátomNávrat hore

ale prečo tam má byť vykonaná dva krát. Prvý krát, keď je pole generované, druhý krát, keď sa z neho načítajú dáta.
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 927

PríspevokZaslal: So 28.08.10 11:00Odpovedať s citátomNávrat hore

camo napísal:
ale prečo tam má byť vykonaná dva krát. Prvý krát, keď je pole generované, druhý krát, keď sa z neho načítajú dáta.


preco nezbuzerujes aj tvorcov prehliadacov preco si najprv z html vytvaraju DOM a az ten potom redneruju ? ved vytvaranie DOMu je podla teba zbytocny medzikrok a ked uz budes rozbehnuty, tak napis aj do php naco vytvarali connector do MySql co vracia nejake pole ked je to zbytocne a ty si to radsej nacitas priamo z ich datasuborov aby to bolo supis brutal rychlejsie
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
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.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF