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í
×
    včera 17:33 | Bezpečnostní upozornění

    Byla vydána nová verze 25.12.6 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Opravena je řada zranitelností v základních síťových službách, které jsou ve výchozím nastavení aktivní a které lze zneužít na dálku. Důrazně je doporučena aktualizace.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | Zajímavý projekt

    Český projekt mapSTL.com promění vybrané místo na světě ve 3D mapu pro tisk, včetně měst, kopců a hor. Vytištěnou mapu můžete také pověsit na zeď jako obraz. STL i barevný 3MF stáhnete zdarma a bez registrace. Vyzkoušejte své oblíbené místo a podělte se o zpětnou vazbu.

    cvp | Komentářů: 3
    včera 10:22 | Pozvánky

    Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 7. a 8. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 08:08 | Zajímavý článek
    Nepálský ISP WorldLink Communications popisuje sedm let zavádění IPv6. Dnes provozuje přes milion IPoE přípojek, všechny s podporou IPv6, a přibližně 70 % provozu přenáší přes IPv6.… více »
    vencour | Komentářů: 3
    včera 02:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 0
    18.10. 23:39 | Bezpečnostní upozornění
    Zjištěna zranitelnost v kernelu projevující se při virtualizaci. Nejde tedy o chybu samotného KVM ani konkrétního poskytovatele cloudu, ale o problém v linuxovém zpracování IPv4 paketů, který se může týkat různých virtualizačních a sandboxových prostředí. Více např. na hacker.news - Critical PwnEscape Linux Kernel Vulnerability Lets Guest VMs Read Host Memory. Aktualizace jsou k dispozici.
    vencour | Komentářů: 0
    18.10. 23:38 | Bezpečnostní upozornění
    Malware napsaný v Go se šíří mezi linuxovými systémy, pokouší se získávat SSH klíče a využívá kompromitované stroje pro těžbu kryptoměn. Autor použil FakeNet-NG a Wireshark k analýze síťové komunikace. Popsal také indikátory kompromitace a možnosti obrany. Zajímavé je propojení SSH bezpečnosti, analýzy síťového provozu a detekce prostřednictvím SIEM. více
    vencour | Komentářů: 0
    16.10. 15:55 | Nová verze

    Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).

    Ladislav Hagara | Komentářů: 0
    16.10. 03:44 | IT novinky

    Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.

    Ladislav Hagara | Komentářů: 18
    16.10. 03:33 | Pozvánky

    O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2872 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    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: 1414×

    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ákno • Nahoru

    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.