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 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
dnes 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
včera 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

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

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 4
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 10
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
20.1. 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 360 hlasů
 Komentářů: 25, poslední včera 13:34
Rozcestník
Reklama

Dotaz: Informace o PHP

9.11.2014 22:28 PHP
Informace o PHP
Přečteno: 322×
Ahoj, nevíte prosím někdo, zda vyžaduje soubor s php kódem odřádkování ? (prázdný řádek na konci jako třeba Bash, Shell). Děkuji

Řešení dotazu:


Odpovědi

9.11.2014 22:56 Sten
Rozbalit Rozbalit vše Re: Informace o PHP
Nevyžadují to ani shell ani PHP
10.11.2014 00:31 PHP
Rozbalit Rozbalit vše Re: Informace o PHP
Díky, tak shell teď nevím na 100% ale bash na 100% ano....
10.11.2014 00:35 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: Informace o PHP
Bash také ne.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 10.11.2014 02:03 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Informace o PHP
Jen tak pro úplnost: Je vhodné vynechávat poslední uzavírací ?>, aby do výstupu nevlezl náhodou nějaký zbytečný prázdný řádek na konci souboru.
Hello world ! Segmentation fault (core dumped)
10.11.2014 02:52 PHP
Rozbalit Rozbalit vše Re: Informace o PHP
Jen tak pro úplnost: Je vhodné vynechávat poslední uzavírací ?>, aby do výstupu nevlezl náhodou nějaký zbytečný prázdný řádek na konci souboru.
Co to ? To nedává smysl...
Jendа avatar 10.11.2014 03:27 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Informace o PHP
Dává. Představ si, že máš index.php, který dělá něco jako:
<?php
10 include("config.php");
20 include("knihovna.php");
30 include("nette.php");
40 
50 header('Content-Type: text/html; charset=utf-8');
60 
70 vypiš_hlavičku();
80 vypiš_články();
90 vypiš_patičku();
?>
Pokud ty includované soubory obsahovaly na konci nový řádek, zahlásí to chybu (Headers already sent!) na řádku 50, protože to poslalo nový řádek ještě před hlavičkami.
„To jsem nedávno zjistil, že naše televize jde ovládat po síti. Docela mě to překvapilo.“ „Jo? A kdo vám ji ovládal?“
AraxoN avatar 10.11.2014 10:49 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Informace o PHP
Jeden nový riadok za ?> to ešte nespôsobí, musí tam byť nových riadkov viac, alebo nejaké medzery, taby, či iné znaky. Možno to spustí "nový riadok" z windows, ktorý je v skutočnosti dvoma znakmi (CR+LF), alebo nový riadok z Mac (CR), ale linuxový nový riadok (LF) je na linuxovom serveri v poriadku.
A fine is a tax for doing wrong. A tax is a fine for doing well.
10.11.2014 12:15 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: Informace o PHP
V každém případě je poslední řádek obsahující jen "?>" zcela zbytečný a je tedy i zbytečné ho do skriptu dávat. Ve svých skriptech takový řádek nemám na konci ani uprostřed a nechybí mi.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
10.11.2014 12:44 PHP
Rozbalit Rozbalit vše Re: Informace o PHP
Hm, tak to dokonce píšou i v manuálu, že se to nedoporučuje používat, akorát nevím jak bych napsal třeba tohle.
<div><?php echo $var; ?></div>
takto? :-D
<div><?php echo $var;</div>
10.11.2014 13:02 chrono
Rozbalit Rozbalit vše Re: Informace o PHP
Práve na tom mieste to ?> zmysel má (a ako už bolo napísané, na konci súboru je to zbytočné).
AraxoN avatar 10.11.2014 13:12 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Informace o PHP
Z mojej skúsenosti je lepšie oddeliť HTML a PHP kód do osobitných súborov a nemiešať ich v jednom PHP skripte. Potom naozaj človek nepotrebuje ukončovaciu značku ?>.
A fine is a tax for doing wrong. A tax is a fine for doing well.
10.11.2014 13:31 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: Informace o PHP
Ten tvůj příklad bych zapsal takto:
<?php
echo "<div>$var</div>";
Do PHP však už nedávám ani kousek HTML, ani jednu HTML značku. Vše mám ve výstupní šabloně.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
10.11.2014 17:25 PHP
Rozbalit Rozbalit vše Re: Informace o PHP
To je nemožné... a jak třeba generuješ položky li ? Píšeš je ručně bez php ?
AraxoN avatar 10.11.2014 17:39 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Informace o PHP
Niektoré šablónovacie systémy vedia robiť aj opakovanie a prechádzanie zoznamu. Tie, ktoré nevedia sa stále dajú použiť s cyklom foreach - spravíš foreach a vyparsuješ pre každú položku šablónu kde je <li>{POLOZKA}</li> a potom to celé zasadíš do ďalšej šablóny kde je <ul>{POLOZKY}</ul>. Tzn. máš 2 súbory so šablónami, kde je len HTML a potom jeden súbor kde je len PHP, ktorý to dá dohromady cez foreach.
A fine is a tax for doing wrong. A tax is a fine for doing well.
10.11.2014 17:49 PHP
Rozbalit Rozbalit vše Re: Informace o PHP
Čili oba dva budou ve finále stejně obsahovat html soubory, nebo co bude ten foreach plnit/vypisovat když ne "li" ?
AraxoN avatar 10.11.2014 18:14 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Informace o PHP
HTML kód samozrejme potrebuješ niekde napísať, ak má výstupom byť HTML zobraziteľný v prehliadači. Tu ide len o to, aby sa v jednom súbore nemiešali naraz HTML a PHP kód.

Btw, sú javascriptové frameworky, ktoré môžeš kŕmiť zo servera priamo "surovými" dátami (napr. JSON), ktoré sa potom v prehliadači menia na zobraziteľné UI prvky. Potom už naozaj nepotrebuješ ani riadok HTML kódu. Príde mi ale jednoduchšie a rýchlejšie tvoriť HTML na serveri.
A fine is a tax for doing wrong. A tax is a fine for doing well.
10.11.2014 22:56 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: Informace o PHP
Položky menu mohu třeba vytáhnout z databáze, ale pro jednoduchost jsem si udělal seznam $odkazy:
<?php
$doc = new DOMDocument();
$menu = $doc->createElement('menu');
$odkazy = array(
    array("První položka", "http://prvni"),
    array("Druhá položka", "http://druhy"),
    array("Třetí položka", "http://treti"),
);
foreach ($odkazy as $odkaz) {
    $item = $doc->createElement('item', $odkaz[0]);
    $item->setAttribute('href', $odkaz[1]);
    $menu->appendChild($item);
}
$doc->appendChild($menu);

$sablona = new DOMDocument();
$sablona->load('menu.xsl');
$xsl = new XSLTProcessor();
$xsl->importStyleSheet($sablona);

echo $xsl->transformToXML($doc);
Trasformaci DOMu na webstránku už dělá šablona.

Možná to vypadá složitě, ale když je to správně zapouzdřené ve vieweru, tak to vůbec složité není ani pro hodně komplexní stránku. Navíc je to velmi rychlé.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 10.11.2014 23:40 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Informace o PHP
Ono navíc <?php ?> je výrazně pomalejší než prosté echo. A také se pak pletou dvě úrovně odsazování. Takže píšu jen PHP s echo "<html>". Odsazování pak je jasné a generované HTML neodsazuju, jen vhodně zalamuju (čitelné je to dost, pokud to je vůbec potřeba).
Hello world ! Segmentation fault (core dumped)
11.11.2014 00:14 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: Informace o PHP
Dobře se dá vyblbnout i se syntaxí Heredoc, protože uvozovky se uvnitř nemusí backslashovat, ale proměnné se expandují. Na výstup celé stránky pak stačí jedno echo.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 11.11.2014 00:49 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Informace o PHP
Ale těžko se to kombinuje s cykly, které jsou docela časté.
Hello world ! Segmentation fault (core dumped)
11.11.2014 01:22 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: Informace o PHP
Cykly strčíš do metod __toString() patřičných objektů.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 11.11.2014 03:25 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Informace o PHP
A nejsou pak takové šablony příliš rozdrobené?
Hello world ! Segmentation fault (core dumped)
11.11.2014 07:22 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: Informace o PHP
Proč by měly být? Pokud v určitém místě vložím objekt $menu, v jiném $clanek a v dalsim $reklama, tak to jsou separátní části, které se samostatně starají o svou validitu. Pokud je v hlavní šabloně chci přemístit, tak prostě jen přesunu objekt $reklama na jiné místo a nemusím se bát, že si něco rozbiju.

Kromě toho mám vše objektově a nějak se do těch 65 řádek na třídu vejít musím. Tohle stejně používám jen u drobností, u kterých rozdělení na několik komponent nevadí.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 11.11.2014 13:36 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Informace o PHP
Takže v $menu už heredoc nepoužíváš, aby se ti tam dobře zapisoval foreach přes položky menu?
Hello world ! Segmentation fault (core dumped)
11.11.2014 13:43 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: Informace o PHP
Místo foreach zpravidla používám implode() a tam už Heredoc většinou uplatnění nenajde.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

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.