Autor | Zpráva | ||
---|---|---|---|
watchick Profil |
#1 · Zasláno: 2. 10. 2009, 20:00:54
Zdravím, mohl by mi prosím někdo osvětlit v čem je výhoda používání class v php? Ptal jsem se pár lidí, a jejich názor byl, že jsou více méně k ničemu, a jsou ještě pomalejší než normální funkce, protože jsou to objekty, jaký je váš názor?
S pozdravem Watchick |
||
Nox Profil |
#2 · Zasláno: 2. 10. 2009, 20:19:16
Objekt != funkce
Dřív jsem je taky nechtěl moc používat ... nějak extra moc třídám nerozumím, ale líbí se mi na nich to, že je to takové přehlednější, máš sdružené proměnné a funkce podle kontextu a začínám je čím dál víc používat A alespoň u mě to bylo tak, že jsem je velmi málo chápal (po stránce užití a výhod) pouze čtením a názory, teprve až sem je sám začal používat Tedy pořádně sem zatím udělal jen jednu, třídu pro trochu větší abstrakci práce s mysql, klasika, ale... |
||
Alphard Profil |
#3 · Zasláno: 2. 10. 2009, 21:26:46
Je to často řešené téma, jen hledejte OOP místo class. Docela dobrý přehled poskytuje Objektově orientované programování na wikipedii, Seriál PHP v objetí objektů na rootu nebo OOP od Timyho.
Hodně debat lze nalézt i tady na fóru, můžete se v nich i ptát na upřesnění. |
||
AM_ Profil |
#4 · Zasláno: 2. 10. 2009, 21:40:47
Ti lidé, co tvrdí, že objekty jsou pomalejší, než normální funkce, o problematice zřejmě nic neví - krom toho, že není pravda, že v objektovém programování jsou programy pomalejší, tak objekt je entita zcela jiného charakteru než funkce, takže to takto ani nejde srovnávat.
Jinak stručně řečeno - objektové programování je jiná filosofie programování než klasické procedurální; je o něco složitější ho pochopit (nejlepší je nejdříve se naučit procedurální a pak zkoumat objektové), ale výsledkem je programovací logika, která má mnohem větší potenciál, než procerudální, především pro složitější projekty: celý program je velice dobře organizovaný, protože každý elementární problém je reprezentován jednou třídou a pokud jsou třídy dobře napsané, i komunikace mezi nimi je přehledná a jasná, a také se do takovýchto programů snáze dopisují nové věci dalšími lidmi - dobře napsaná třída je chráněna nejen proti chybám uživatele programu, ale i proti chybám programátora, který s třídou zvenku pracuje. |
||
fopen Profil * |
#5 · Zasláno: 4. 10. 2009, 14:17:33
Môžem len potvrdiť, že je to veľmi prehľadne programovanie a dosť mi pre pochopenie pomohlo toto: Objektově orientované programování (OOP) v PHP
|
||
Mastodont Profil |
#6 · Zasláno: 4. 10. 2009, 15:39:43
AM_
Například Larry Ullman v knize PHP and MySQL for Dynamic Websites píše zcela jasně: I would generally say that procedural code is faster to execute and requires less memory, as there's less overhead Z hlediska rychlosti kód to samozřejmě srovnávat jde a taky to bylo mnohokrát provedeno. Otázka filosofie je něco zcela jiného. |
||
pEeLL Profil |
#7 · Zasláno: 4. 10. 2009, 15:58:44
watchick
ja bych hlavní výhodu videl v lepší přehlednosti kodu. hlavne kdyz snim po tobe bude pracovat jeste nekdo dalsi. ale pokud bys funce vhodne pojmenovaval (vcetne prefixu pro urcite skupiny funkci a promenych) a seskupoval do souboru tak bych vtom nevidel problem. nekdy lepsi hezky napsane funkce nez doprasene tridy. problem rychlosti bych zde urcite neresil. |
||
Alphard Profil |
#8 · Zasláno: 4. 10. 2009, 16:34:43
„ale pokud bys funce vhodne pojmenovaval (vcetne prefixu pro urcite skupiny funkci a promenych) a seskupoval do souboru tak bych vtom nevidel problem“
No nevím, viditelnost proměnných, dědičnost, zapouzdření a spoustu dalších věcí to nevyřeší. V tomhle cestu nevidím. |
||
pEeLL Profil |
#9 · Zasláno: 4. 10. 2009, 20:06:19
Alphard
ne viditelnost to neřeší. dedicnost jde pomoci funkci simulovat. a zapozdreni - vlastne jiz samotna funkce je zapouzdreni. rozhodne nechci tvrdit ze to s oop neni lepsi, vetsinou samozrejme je (uzitecnost oop pak imho roste s velikosti projektu a poctem spolupracovniku). ale myslim ze na mensich projektech se ale casto zadna vyhoda neobjevi. |
||
Časová prodleva: 15 let
|
0