Hackerská skupina ShinyHunters oznámila průnik do informačních systémů FBI, prostřednictvím zero-day zranitelnosti v platformě Oracle PeopleSoft, kterou úřad využívá mimo jiné pro náborový portál FBIJobs.gov. Útočníci tvrdí, že získali až 3 TB dat o současných i bývalých zaměstnancích a uchazečích o práci. Jako důkaz zveřejnili vzorek přibližně 5 000 záznamů obsahující jména, adresy, telefonní čísla, data narození, čísla
… více »Doba kompilace linuxového jádra se díky rychlejšímu hardwaru a optimalizacím kbuildu snižuje k deseti sekundám. Nejnovější patche Lorenza Stoakse (vznikají i s pomocí SI) zkrátily na testovacím stroji dobu sestavení z dlouhých 22 vteřin na pouhých 15, a to bez použití RAMdisku. Testovací systém tvořily dva procesory AMD EPYC 9575F (oba dohromady poskytují celkem 128 jader a 256 vláken), čtyřiadvacet 64GB DDR5-6400 paměťových modulů a
… více »Před rokem a půl vývojáři postmarketOS informovali, že pro projekt hledají nové jméno. Včera bylo oznámeno: postmarketOS se nově jmenuje Nura.
Hra Factorio dorazila na Printables. Hned teď si můžete stáhnout 65 různých modelů a nechat celou mimozemskou planetu oživnout na svém stole.
GNU Project Debugger aneb GDB byl vydán ve verzi 18.1. Podrobný přehled novinek v souboru NEWS.
Prezident USA Donald Trump během svého projevu na valném shromáždění OSN 22. září 2026 prohlásil, že umělá inteligence 'bude dále oficiálně nazývána superinteligencí', zkráceně SI. Svůj návrh zdůvodnil takto: 'Použití slova artificial činí inteligenci falešnou. Ona falešná není, ve skutečnosti je úžasná'. Zároveň ve svém proslovu prohlásil, že Spojené státy kategoricky odmítají jakékoliv pokusy o vytvoření 'globalistického
… více »Čínská technologická firma Xiaomi představila novou verzi 2.6 svého modelu MiMo, váhy modelů MiMo‑V2.6‑Pro‑RL a MiMo‑V2.6‑Flash‑RL jsou dostupné na HuggingFace pod licencí MIT. Výkonnější varianta Pro má přes bilion parametrů, z toho 42 miliard aktivních, úspornější Flash 309 miliard parametrů, z nichž se při generování aktivuje přibližně 15 miliard. Oba modely mají délku kontextového okna milion tokenů. Tyto MoE modely zvládají
… více »Proběhl Snapdragon Summit 2026. Společnost Qualcomm se mimo jiné pochlubila během Linuxu na čipech Snapdragon X2. Zatím pouze v ranní verzi vhodné pro vývojáře linuxových distribucí a přispěvatele do jádra Linux.
Byla vydána nová verze 2.0 klienta F-Droid určeného pro instalaci bezplatných a otevřených mobilních aplikací do Androidu ze softwarového repozitáře F-Droid (Wikipedie). Jedná se o alternativu k Google Play.
Debian Inference Portal nabízí vývojářům Debianu bezplatný přístup ke službám AI/LLM. Sponzorem je společnost Scaleway.
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
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.
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
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?
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 :)
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; }
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.
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".
Tiskni
Sdílej: