Autor | Zpráva | ||
---|---|---|---|
malek Profil |
#1 · Zasláno: 8. 8. 2008, 15:33:32
zdravim
da sa dedit z dvoch tried naraz? class third extends first, second { } to zrovna nefunguje :D |
||
nightfish Profil |
#2 · Zasláno: 8. 8. 2008, 15:34:16
ne, nedá
opravdu to potřebuješ? |
||
malek Profil |
#3 · Zasláno: 8. 8. 2008, 15:49:55
no da sa to obist ale asi by to bolo lepsie a prehladnejsie takto, neva
tusim to ide nieak takto public function nieco; __construct() { nieco = new trieda(); } |
||
nightfish Profil |
#4 · Zasláno: 8. 8. 2008, 15:55:58
k čemu vícenásobnou dědičnost potřebuješ?
nestačilo by skládání tříd? |
||
malek Profil |
#5 · Zasláno: 8. 8. 2008, 15:58:09
asi ani nepotrebujem, slo by to napisat niak takto?:
$tebaChcem = "NazovTriedy"; class third extends $tebaChcem { } |
||
bukaj Profil |
#6 · Zasláno: 8. 8. 2008, 16:48:17
malek
Za dobu, co se věnuji programování, jsem viděl jediný případ, kdy nejelegantnějším řešením byla vícenásobná dědičnost. Řekl bych, že u tebe se o tento případ nejedná :o) class third extends $tebaChcem { Ale fuj. Nejde (díkybohu?). Radši ani nebudu uvádět postup, jak by se to dalo prasácky udělat, aby ses toho ještě nechytnul. Věř mi, že tohle zavání hodně špatným návrhem aplikace. Doporučuji ti zakoupit si a nastudovat některý z titulů zabývajících se OOP. |
||
Joker Profil |
#7 · Zasláno: 8. 8. 2008, 16:58:37
malek
Jak nám říkali na objektovém programování na vejšce: jen proto, že dedičnost je "populární" vlastnost objektově orientovaných jazyků, není nutné všechno dělat přes dědění. Třeba skládání bývá někdy výhodnější ;-) |
||
Časová prodleva: 3 dny
|
|||
malek Profil |
#8 · Zasláno: 11. 8. 2008, 13:32:55
no ok, ja som chcel nieco take
nieaka trida layot by dedila triedu podla typu stranky fotogaleria, produkty, stranky.. layot by zobrazoval to co by nadefinovali zdedene triedy, trebarz title, meta, header, side, otherside, content, footer.. slo by to aj tak ze by layout nebola trieda :) abo ako to riesit aby som dosiahol podobny vysledok, tj ze by som mal v html kode len par premen ktore by definovali ine triedy.. jednoducha zmena sablony a myslim ze by to bolo velmi prehladne pre tvorbu dalsich modulov.. vyhladavanie, novinky... |
||
Joker Profil |
#9 · Zasláno: 11. 8. 2008, 13:44:27
malek
Nebylo by lepší než řešit layout PHP třídou to udělat pomocí šablon? Tj. že třída nebude mít proměnné pro titulek, HTML hlavičku, hlavičku stránky,... ale ty "proměnné" budou v šabloně a třída bude mít jen metodu třeba assign, která přiřadí obsah nějaké proměnné v šabloně? něco jako: $sablona->assign("titulek", "nějaký titulek"); (alespoň tak to dělám já) |
||
malek Profil |
#10 · Zasláno: 11. 8. 2008, 13:51:07 · Upravil/a: malek
asi som to nepochopil :) riesi to to ze zdedim sablonu len ktoru chcem .) lyout ktory to zobrazujem chcem aby vysiel tiez ako jedna premena aby sa to pak dalo jednoducho cashovat.. tj ak stranka neexituje zdedi sa potrebna sablona, layout zobrazi obsah a vytvori staticku html stranku.. pri dalsej snahe o zobrazenie tohto url sa uz len tato stranka zobrazi..
trieda layout php bude mat viac podobnych funkcii.. vyslo mi to tak ze potrebujem dedit triedu podla typu stranky :) |
||
Joker Profil |
#11 · Zasláno: 11. 8. 2008, 14:52:47
Jestli jsem to dobře pochopil, tak layout nějaké konkrétní stránky bude PHP třída. Nějak v tom nevidím výhody :-).
Spíš to naopak motá dohromady aplikační a prezentační věci. Idea toho, jak to myslím já: Prezentace: HTML soubor, kde jsou nějakým zvláštním způsobem vyznačené nahrazované věci. Třeba <html><head><title>{TITULEK}</title></head><body>{OBSAH}</body></html> Data (v databázi): obsahují data, která se budou plnit do těch nahrazovaných věcí. Aplikace (PHP soubor): udělá tu samotnou práci, tj. nějakým způsobem nasype data z databáze do toho HTML kódu. Tímhle způsobem aplikace ani nemusí vědět, že na stránce nějaká proměnná TITULEK vůbec existuje (název toho, co má nahradit, může taky tahat z databáze) |
||
suky Profil |
#12 · Zasláno: 11. 8. 2008, 15:12:58 · Upravil/a: suky
malek
„nieaka trida layot by dedila triedu podla typu stranky fotogaleria, produkty, stranky.. “ Zkus se poohlednout po Zend Frameworku, popripade po jinem PHP MVC frameworku. A jak psal bukaj, chtelo by OOP trochu nastudovat. Zkus hned P.1. |
||
Časová prodleva: 16 let
|
0