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

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 4
    dnes 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 7
    včera 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 4
    včera 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    6.8. 16:33 | Nová verze

    Byla vydána nová verze 1.54.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Jan Václav.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (44%)
     (22%)
     (4%)
     (6%)
     (3%)
     (1%)
     (1%)
     (19%)
    Celkem 296 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: Divné chování require

    28.4.2012 22:48 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Divné chování require
    Přečteno: 287×
    Dneska jsem narazil na divné chování PHPka. Pokud mám soubor1.php a includuju v něm soubor2.php, tak pokud ten soubor2.php končí nějak takto:
    <?php
    some_php_code();
    if($x==1) {
      do_something();
    }
    ?>
    <span class="trida">Some text</span>
    
    tak se nový řádek vygeneruje, pokud ovšem soubor2.php upravím takto:
    
    <?php
    some_php_code();
    if($x==1) {
      do_something();
    }
    ?>
    <span class="trida">Some text</span><?php ?>
    
    tak je najednou po problému a nový řádek se nenageneruje. Nesetkali jste se někdo s podobným problémem?

    Řešení dotazu:


    Odpovědi

    28.4.2012 23:21 DK
    Rozbalit Rozbalit vše Re: Divné chování require
    a require, nebo include?
    Řešení 1× (filbar (tazatel))
    Aleš Janda avatar 28.4.2012 23:45 Aleš Janda | skóre: 23 | blog: kýblův blog | Praha
    Rozbalit Rozbalit vše Re: Divné chování require
    Znak konce řádku za ?> se sám uřízne. To PHPko dělá, aby bylo možné soubor zakončit novým řádkem bez toho, aniž by se promítnul do výstupu (některé programy berou textové soubory bez koncového odřádkování jako chybu). V prvním případě to na ?> nekončí, takže se nový řádek přidá, v druhém končí, takže se odřízne.
    Řešení 1× (filbar (tazatel))
    28.4.2012 23:52 Kit
    Rozbalit Rozbalit vše Re: Divné chování require
    Nesetkal. Asi proto, že takové blbosti nedělám a raději použiji Heredoc.

    Většina editorů vkládá na konec souboru LF, resp. CR LF. Pokud soubor končí HTML kódem, na výstupu se objeví i zmíněný LF. Pokud končí PHP, negeneruje se nic.

    Doporučuje se neukončovat PHP kód značkou ?>, správně by tedy měl konec vypadat takto:
    <span class="trida">Some text</span><?php
    29.4.2012 11:51 l4m4
    Rozbalit Rozbalit vše Re: Divné chování require
    Uch, och. Ale proč bychom měli vlastně čekat syntaktickou příčetnost...
    29.4.2012 18:58 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Divné chování require
    Co to?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    1.5.2012 22:46 l4m4
    Rozbalit Rozbalit vše Re: Divné chování require
    No, kde přesně končí ten PHP escape (syntaticky odpovídající processing instructions)?

    Co je to za nápad ukončovat soubor zanořením do nějaké konstrukce?
    *ERROR* end occurred inside a group at level 1!
    2.5.2012 08:51 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Divné chování require
    No ono je to zamotané z důvodu sloučení „volně“ procházející kódu na výstup a interpretovaného.
    Tak jak to Kit napsal, je jediná rozumné možnost, aby se v tomto případě ve výstupu zaručeně nenacházel \n navíc.
    PHP script končí značkou ?> nebo koncem souboru (uzavírací značka nemusí být uvedena a je to i velmi vhodné ji neuvádět).
    Když to bude „hezké“:
    <span class="trida">Some text</span>
    <?php
    
    už tam \n je protože jsme ho tam zapsali.
    <span class="trida">Some text</span><?php ?>
    Nám ničemu nepomůže, protože spousta editorů ten \n tam doplní.
    Osobně bych tento okomentoval, proč jsem tak učinil
    <span class="trida">Some text</span><?php
    /*
     * POZOR: tento soubor nesmí obsahovat žádný znak navíc za tagem:
     * <span class="trida">Some text</span>
     * Značka začátku PHP scriptu se musí nacházet bezprostředně za tím tagem
     * a soubor nesmí být ukončen uzavírací PHP značkou.
     */
    
    nebo respektive, bych se asi k této konstrukci nedostal, protože \n navíc v html obvykle nevadí a kdyby se k tomu schylovalo a měl bych nějaké nároky na tento formát, vypadalo by to asi nějak takto
    <?php
    …
    …
    echo '<span class="trida">Some text</span>';
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    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.