abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:22 | Komunita

    Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.

    Ladislav Hagara | Komentářů: 0
    dnes 17:33 | Zajímavý software

    OpenLogi (GitHub) je open source náhrada aplikace Logi Options+ pro přizpůsobení myší od společnosti Logitech. Zatím běží pouze na macOS.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Nová verze

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 8
    včera 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 12
    včera 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 6
    včera 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    3.6. 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    3.6. 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    3.6. 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1826 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: PHP MVC - getter setter vs globalni promenne

    1.3.2009 22:01 Dworkin
    PHP MVC - getter setter vs globalni promenne
    Přečteno: 1165×

    Dobry den,

    jsem uplny novacek v navrhu aplikaci pomoci MVC vzoru a neumim si odpovedet na asi jednoduchou otazku. Na mnoha mistech se pise, ze se misto globalnich promenych (jak jsem byl doposud zvykly uzivat) je lepsi v tomto navrhu vyuzivat zapouzdreni method, ktere obsluhuji promene do __set a __get method.

    Mohu se zeptat na Vas nazor zda je to dobry napad, a o nejake provnani metod getter, setter vs globalni promenne.

     

    Dekuji za vas cas.

    Dworkin

    Odpovědi

    AraxoN avatar 2.3.2009 01:57 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: PHP MVC - getter setter vs globalni promenne

    Ehm, globálne premenné? Nemysleli ste náhodou členské premenné? Môj názor je taký, že getter a setter je možné do triedy doplniť, keď sa na to nájde dôvod. Toto doplnenie sa dá urobiť z väčšej časti transparentne, takže si myslím, že dávať ho automaticky všade je zbytočný overkill.

    2.3.2009 10:04 klingac | skóre: 10 | Praha
    Rozbalit Rozbalit vše Re: PHP MVC - getter setter vs globalni promenne

    podla mna je praveze dobre pouzivat gettery a settery v hojnej miere - umoznuje to "schovat" implementaciu za metody. to prinasa obrovske vyhody ked sa aplikacia dalej preraba, meni. uz neraz sa mi to vyplatilo. napriklad sa jedneho dna rozhodnete ze z clenskej prmennej typu array spravite objekt typu XY (co sa stava pomerne casto pri rafactoringu). nasledne budete musiet prepisat vsetky casti kodu, ktore pristupuju priamo k clenskej premennej. ak bola od zaciatku tato premenna nejak schovana (private, protected) a na pristup k nej sa vyuzivali vyhradne getter a setter tak mate vyhrane lebo iba zmenite obsah tychto dvoch metod.

    takze idealny sposob je podla mna mat vsetky clenske premenne neverejne (private, protected) a pristupovat k nim jedine cez metody. tento sposob sice natahuje cas pri vyvoji, ale oextremne usetri cas a namahu pri zmenach, opravach. samozrejme vsetko s rozumom, vyskytuju sa situacie ked to neni moc vhodne

    2.3.2009 12:25 Dworkin
    Rozbalit Rozbalit vše Re: PHP MVC - getter setter vs globalni promenne

    Dekuji obema za kometare. Protoze jsem metody getter setter jeste nikdy nevyuzival, pusobi na me dosti tajemne, ale to asi jen pro to, ze jsou pro me nove. Mohu se jeste zeptat na lajckou otazku (mozna uplne mimo misu). Da se nejak vycist jake vsechny promene jsou vytvoreny?  Tedy jako kdyz vypisi print_r($_SESSION) tak vidim pohodlne jake promene mam aktualne nastaveny. Jde to nejak i touto metodou?

     

     

    2.3.2009 15:02 klingac | skóre: 10 | Praha
    Rozbalit Rozbalit vše Re: PHP MVC - getter setter vs globalni promenne

    neviem ako sa daju zistit premenne v aktualnom kontexte (napr. vo funkci, metode), ale globalne premenne by mali byt (od PHP5) v poli $GLOBALS, takze na vypis by malo stacit print_r($GLOBALS).

    inak podla toho co pises tusim ze asi by sa ti hodil nejaky debugger,ze? nastroj kde si pocas behu skriptu vypises co vsetko je v danom poli, objekte, premennej, ci je enjake premenna inicializovana v danom momente..

    skus sa kuknut an xdebug  - spolu s nejakym klientom - napr. emacs, vim, eclipsePDT dosiahnes nielen toto ;o) ju a v pripade nejasnosti (instalacia atd) sa nevahaj spytat :)

    AraxoN avatar 2.3.2009 15:17 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: PHP MVC - getter setter vs globalni promenne

    gettery a settery nespochybňujem, ale v PHP sa to robí tak, že sa vytvorí metóda s názvom __get() kde ako parameter ide string s názvom premennej a metóda s názvom __set() kde ide názov premennej a hodnota. Tieto metódy sú takzvané "magic", takže sa automaticky použijú na prístup k členom s viditeľnosťou private. Používanie get a set je z toho pohľadu transparentné, a netreba si zvlášť vytvárať getter a setter pre každú premennú. Takže môžem mať členy public a keď zistím, že na niektorý z nich mi treba getter alebo setter, tak z nich spravím private a ošéfujem to v rámci __get() a __set(). Tí čo triedu používajú si žiaden rozdiel nevšimnú, a 3/4 triedy mi nezaberajú funkcie typu GetBlaa() { return $this->blaa; } a SetBlaa($blaa) { $this->blaa=$blaa; }

    3.3.2009 19:54 Petr Holík
    Rozbalit Rozbalit vše Re: PHP MVC - getter setter vs globalni promenne

    Getry a setry jsou jenom prvni krok k programovani snadno upravitelnych modularnich aplikaci.  Samotne bez ostatnich prvku objektoveho navrhu nejsou k nicemu. Implementace MVC v PHP je dle meho nazoru trosku problematicka a mene zrejma nez napr v Jave - Nikoliv vsak nemozna.

    Takze od pouzivani settru neodrazuji, ale snazte se pochopit proc se pouzivaji, a co prinasi, stejne tak s MVC. Obe technologie zeslozituji(nebo cini delsim) kod aplikace, ale nabizeji vetsi flexibilitu a znovupouzitelnost kodu.

    8.3.2009 20:52 jos
    Rozbalit Rozbalit vše Re: PHP MVC - getter setter vs globalni promenne

    mno lepší je mít kód bez obojího, když máš v nějaký třídě data, měl bys veškerou práci s nima mít právě v tý třídě. OOP bylo vymyšlený právě proto. doporučuju četbu Holub on patterns - stať nazvaná "why are getters and setters evil".

     

    13.3.2009 10:32 moira | skóre: 30 | blog: nesmysly
    Rozbalit Rozbalit vše Re: PHP MVC - getter setter vs globalni promenne
    měl bys veškerou práci s nima mít právě v tý třídě

    April je az za 3 tydny, ne?
    Překladač ti nikdy neřekne: "budeme kamarádi"

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.