Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
| Autor | Správa |
|---|
Registrovaný: 09.02.07 Prihlásený: 26.01.15 Príspevky: 257 Témy: 20 | 20 |
Dostavam sa hlbsie do OOP a mam otazku, ci je SPRAVNE a mozem pouzit v konstruktore aj metodu, ktoru definujem inde ale v tej istej triede? Hodim priklad:
Kód: class person extends db_mysql { var $personId; var $personName; function person($personId) { $this->db_mysql(MYSQL_INI); $this->personId = $personId; $this->get_person_main_details(); }
function get_person_main_details() { // tu robim mysql query a ziskavam info o klientovi // ktore da sa povedat potrebujem na kazdej stranke // v pripade, ze user je prihlaseny } }
Ono mne to funguje, ale neviem ci je to spravne toto robit prave v konstruktore, kde by mali asi byt inicializovane len premenne. No neviem, tak mi poradte, OOP je zaujimava vec, len som z toho este dost dopleteny a zmateny.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14571 Témy: 66 | 66 Bydlisko: Žilina |
tak ja som na tom nejak podobne, nejsi saaam
co si myslim ohladom tvojej otazky, tak by malo byt v poriadku pouzit v konstruktore aj metodu. videl som to myslim v par knihach... ak tomu totiz spravne chapem, tak konstruktor sluzi na to, aby si porobil naraz pri vytvarani triedy potrebne operacie na jej vytvorenie (priradenie premennych atd).
inak co sa tyka tvojho zapisu, tak podla mojej knihy by sa mal pouzivat skor novy sposob zapisu konstruktora, cize
Kód: __construct()
a nie len nazvat funkciu podla triedy, co bol stary sposob.. jasne, bude fungovat aj to, ale...
opravte ma dakto ak pisem hluposti, do oop tiez este velmi nevidim 
_________________ C#, PHP, ... |
|
Registrovaný: 09.02.07 Prihlásený: 26.01.15 Príspevky: 257 Témy: 20 | 20 |
Ok, co sa tyka __construct() , zda sa mi, ze to bolo pridane az od php5. Bohuzial ja sa musim zmierit s php4, kde sa mi zda to nefunguje, musim vyskusat.
Ono do konstruktora by sa mohlo dat vsetko to, co sa vzdy splni, ak sa nemylim. Ok, tak si pockame na odpovede od skusenejsich php oop developerov.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14571 Témy: 66 | 66 Bydlisko: Žilina |
mondzo píše: Ok, co sa tyka __construct() , zda sa mi, ze to bolo pridane az od php5. Bohuzial ja sa musim zmierit s php4, kde sa mi zda to nefunguje, musim vyskusat.
Ono do konstruktora by sa mohlo dat vsetko to, co sa vzdy splni, ak sa nemylim. Ok, tak si pockame na odpovede od skusenejsich php oop developerov. -> jj, je to odo piatej verzie. preco si nenahodis php5? na vsetkych hostingoch mas myslim uz len 5, a nevidim dovod preco by na nejaky hosting niekto daval php4... -> jj, hodim sem rovno popis z mojej knihy Citácia: Konstruktory Kdyz se vytvari novy objekt, casto chcete inicializovat jiste clenske promenne, nebo dokonce spustit nejake metody. ............... Konstruktory OOP prinaseji mnoho vyhod : -> mohou prijimat parametry, ktere se v dobe vytvareni instance priradi konkretnim clenskym promennym objektu -> mohou volat metody tridy nebo jine funkce -> mohou volat jine konstruktory, vcetne tech z rodicovskych trid
takze podla toho je korektne, ak volas v konstruktore metody atd 
_________________ C#, PHP, ... |
|
Registrovaný: 09.02.07 Prihlásený: 26.01.15 Príspevky: 257 Témy: 20 | 20 |
Jo dik moc, myslim, ze toto by mi stacilo na zaciatok, urcite budem mat viac otazok neskor.
Co sa tyka php4 a php5, no v robote kolega vlastni server a teda hostuje tam nas web ako front-end tak aj back-end a zatial som ho nepresvedcil, aby uz konecne nahodil php5 na server. Je to komplikovanejsie a nebudem sa tu s tym zaoberat. Aj tak tu za mesiac a pol koncim, takze mi je to uz jedno  .
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14571 Témy: 66 | 66 Bydlisko: Žilina |
mondzo píše: Jo dik moc, myslim, ze toto by mi stacilo na zaciatok, urcite budem mat viac otazok neskor. Co sa tyka php4 a php5, no v robote kolega vlastni server a teda hostuje tam nas web ako front-end tak aj back-end a zatial som ho nepresvedcil, aby uz konecne nahodil php5 na server. Je to komplikovanejsie a nebudem sa tu s tym zaoberat. Aj tak tu za mesiac a pol koncim, takze mi je to uz jedno  .
tak to potom chapem... tak keby si mal nake otazky alebo chcel trocha pokecat o programovani, tak sa kludne ozvi aj na icq 
_________________ C#, PHP, ... |
|
Registrovaný: 22.11.07 Prihlásený: 26.02.10 Príspevky: 253 Témy: 1 | 1 Bydlisko: 127.0.0.1 |
konstruktor je vlastne metoda ktora sa vykona vzdy po vytvoreni instancie danej triedy. parametre sa mu predavaju pri volani instancie cize ak mam konstruktor Kód: __contruct($a, $b) { $this->a = $a; $this->b = $b; } tak sa mu parametre predavaju Kód: $instancia = new trieda(parametre_konstruktora); to znamena ze si tam mozes dat cokolvek co len uznas za vhodne ci uz to su systemom definovane funkcie alebo uzivatelom. globalne premenne. session. proste vsetko. a co sa tyka konstruktoru s nazvom tiedy je to len prezitok z php4 a ostal len koli spetnej kompatibilite ale bohuzial na niektorych serveroch ako wz.cz su stale aktualne a php5 tam nefunguje. a ak uz chces prejst komplet na php5 radil by som vyuzivat vynikajucu vec a tou su identifikatory podla pristupnosti -> public, protected, private namiesto jednoducheho var 
_________________ PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber... |
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | 17 |
nenazval by som to prezitok. je to urcity standard pouzivany aj v inych jazykoch. napriklad java alebo c++
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Registrovaný: 22.11.07 Prihlásený: 26.02.10 Príspevky: 253 Témy: 1 | 1 Bydlisko: 127.0.0.1 |
suchy píše: nenazval by som to prezitok. je to urcity standard pouzivany aj v inych jazykoch. napriklad java alebo c++
kedze sa bavime o php a tento "standard" ostal len koli kompatibilite so starsimy verziami kludne si dovolim nazvat to prezitok.
_________________ PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber... |
|
Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
|