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 12:22 | IT novinky

    V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

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

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 1
    dnes 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 19:53 | Bezpečnostní upozornění
    V Xenu objevena zranitelnost. Chyba v mechanismu grant copy umožňuje škodlivému virtuálnímu stroji číst a přepisovat libovolnou paměť jiných VM včetně privilegované domény Dom0. Dotčené verze jsou Xen 4.6 a novější. V upstreamu jsou dostupné patche pro Xen 4.17 až 4.19 a vývojovou větev. Pro starší nepodporované verze 4.6–4.16 nejsou v XSA-523 přiloženy opravy.
    vencour | Komentářů: 0
    včera 16:55 | Nová verze

    Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).

    ʚĭɞ 🍉 | Komentářů: 0
    včera 12:22 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Nová verze

    Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

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

    Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 4
    včera 00:33 | Nová verze

    Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).

    Ladislav Hagara | Komentářů: 0
    4.11. 22:11 | Bezpečnostní upozornění

    MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.

    vencour | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2985 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: PHP - Objasnění zápisu

    30.10.2014 19:07 Matějíček
    PHP - Objasnění zápisu
    Přečteno: 633×
    Ahoj, nechápu tento zápis, může někdo objasnit? Děkuji
    $var = 'text';
    $var = '

    '.$var.'

    ';
    Není to náhodou hodně špatně? Co na to říká paměť? A jak to, že to vůbec funguje? Není správně tohle?
    $var1 = 'text';
    $var = '

    '.$var1.'

    ';

    Řešení dotazu:


    Odpovědi

    Řešení 1× (rADOn)
    FrostyX avatar 30.10.2014 19:34 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    Rozbalit Rozbalit vše Re: PHP - Objasnění zápisu
    Nejdříve se ti vyhodnotí pravá strana od rovnítka, takže ''.$var.'' se vyhodnotí na 'text' a až potom se to uloží do proměnné nalevo od rovnítka, tedy do $var.
    FrostyX.cz | 1984 was not supposed to be an instruction manual.
    30.10.2014 20:20 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP - Objasnění zápisu
    Oba zápisy udělají zhruba totéž, jen ten první bude o něco málo pomalejší a vezme si o drobek víc paměti. Navíc ten první způsob může narušit logiku programu - nikoli však výsledek.

    Je tedy lepší používat druhý způsob.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    30.10.2014 20:34 Matějíček
    Rozbalit Rozbalit vše Re: PHP - Objasnění zápisu
    Co prosím znamená, že může narušit logiku programu ?
    30.10.2014 21:04 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP - Objasnění zápisu
    Tak tedy příklad. Mám string a chci ho ošetřit pro výstup do HTML.
    $out = "Adam & syn";
    :
    $out = htmlspecialchars($out);
    :
    echo $out;
    
    Dvojtečkami jsem naznačil, že tam může být naplnění jiných proměnných. Představ si, že si omylem smažeš prostřední řádek nebo ho omylem budeš mít pod sebou 2×. Program ti zdánlivě bude fungovat, ale bude dávat chybné výsledky.

    Často se takové chyby objevují v opomenutí ošetření proti SQL injection (pokud někdo ještě nepoužívá prepared statements). Stačí přidat jeden sloupec a jednoduše zapomenout ho ošetřit.

    Pokud pokaždé použiješ další proměnnou, nestane se ti to. Je to pojistka proti vlastním chybám a také umožníš procesoru efektivněji přeskládat instrukce.

    Kromě toho to např. ve funkcionálních jazycích ani jinak nejde.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    31.10.2014 20:28 Matějíček
    Rozbalit Rozbalit vše Re: PHP - Objasnění zápisu
    To znamená, že ten zápis je taky špatně? Správně by to mělo být tato ? Díky
    $out = "Adam & syn";
    :
    $out1 = htmlspecialchars($out);
    :
    echo $out1;
    31.10.2014 20:30 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP - Objasnění zápisu
    Bingo!
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    xxxxxx avatar 31.10.2014 13:07 xxxxxx | skóre: 23
    Rozbalit Rozbalit vše Re: PHP - Objasnění zápisu
    Můžete to, prosím, rozvést? Zajímalo by mě, co se v paměti přesně stane a proč ten první způsob bude pomalejší. Vyhodnocení pravé strany obou způsobů musí fungovat stejně, zabrat stejně času i paměti, nebo ne? V druhém způsobu budu mít o proměnnou více, nebo ji uvolní GC?
    31.10.2014 14:49 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP - Objasnění zápisu
    Přesný mechanismus neznám, ale v principu půjde asi o to, že u prvního způsobu se GC volá 2×, ale u druhého jen 1× a uvolní oba objekty současně.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    xxxxxx avatar 31.10.2014 16:20 xxxxxx | skóre: 23
    Rozbalit Rozbalit vše Re: PHP - Objasnění zápisu
    Mnohokrát děkuji, to je přesně to, co jsem chtěl vědět :)

    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.