<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/?rss" rel="self" type="application/rss+xml" />
<title>DunLog - Deset vlastností PHP, o kterých jste možná nevěděli</title>
	<link>http://blog.milde.cz</link>
	<description>Smrt není problém, život bez smyslu je</description>
	<language>Cs</language>
	<generator>Nors 4.3.3</generator>
	<copyright>2010</copyright>
	<lastBuildDate>Thu, 09 Sep 2010 12:24:22 +0200</lastBuildDate>

	<webMaster>daniel@milde.cz (Daniel Milde)</webMaster>

		<item>
		<title>Martin</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1595</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1595</guid>
		<description><![CDATA[Ad 4: Toto ovšem vyvolá notice: Use of undefined constant b - assumed 'b'
Na tento komentár odpovedal [2] Vojtech Vondra]]></description>
		<pubDate>Wed, 08 Jul 2009 13:16:47 +0200</pubDate>
		</item>

		<item>
		<title>Vojtech Vondra</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1597</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1597</guid>
		<description><![CDATA[#1 Martin: Mimochodem je to i mnohem pomalejší volání než použít řetězec jako index.
]]></description>
		<pubDate>Wed, 08 Jul 2009 14:56:51 +0200</pubDate>
		</item>

		<item>
		<title>Miloslav Ponkrác</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1598</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1598</guid>
		<description><![CDATA[Příklad 4 je prachsprostá chyba. A může se velmi krutě vymstít.
například
define('b', 'cha cha cha, tuhle chybu budete hledat dlouho!');
// ... dlouho nic, mnoho řádků
echo $x[b];
Ono totiž to, když napíšete řetězec bez uvozovek (jednoduchých || dvojitých), ono to neznamená ten samý řetězec! Ono to jenom hledá konstantu stejného jména, a když jí najde, použije jí – jako v mém případě, když ne, rezignuje s chybovou hláškou a TEĎ V TUTO CHVÍLI php dosadí ten samý řetězec. Ale týmu php se nelíbí zneužívání této vlastnosti a zanášení skrytých chyb tímto způsobem, tak velmi přemýšlejí na zabránění.
Takže používejte si řetězce bez uvozovek, ale nesmíte se divit, až Vám kód nebude chodit a budete dlouho hledat chybu.
]]></description>
		<pubDate>Wed, 08 Jul 2009 15:11:49 +0200</pubDate>
		</item>

		<item>
		<title>Marek Soldát</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1599</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1599</guid>
		<description><![CDATA[V PHP se dá dělat spousta podobných fíglů, čili jejich shrnutí (byť částečné) je ku prospěchu věci. Jen tak dál. Bude další díl? ;-)
Na tento komentár odpovedal [5] Dundee]]></description>
		<pubDate>Wed, 08 Jul 2009 15:16:00 +0200</pubDate>
		</item>

		<item>
		<title>Dundee</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1600</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1600</guid>
		<description><![CDATA[#4 Marek Soldát: Když mě ještě něco napadne, tak klidně :)
]]></description>
		<pubDate>Wed, 08 Jul 2009 17:12:33 +0200</pubDate>
		</item>

		<item>
		<title>paranoiq</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1601</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1601</guid>
		<description><![CDATA[díky!
příklad 4 je opravdu fuj :P
k číslu 8 dodávám, že to funguje nejen se členskými proměnnými. jméno jakékoliv proměnné lze zadat jako výraz ve složených závorkách. a to třeba i tak: &quot;${foo().'bar'}&quot;
Na tento komentár odpovedal [7] DundeeNa tento komentár odpovedal [11] paranoiq]]></description>
		<pubDate>Wed, 08 Jul 2009 19:34:33 +0200</pubDate>
		</item>

		<item>
		<title>Dundee</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1602</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1602</guid>
		<description><![CDATA[#6 paranoiq: Tak na tenhle způsob sestavení jména proměnné jsem už zapomněl.
Další hezkou věcí je vícečetná &quot;dereference&quot;:
$$var
]]></description>
		<pubDate>Wed, 08 Jul 2009 19:50:05 +0200</pubDate>
		</item>

		<item>
		<title>Jan Tichý</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1603</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1603</guid>
		<description><![CDATA[Bod číslo 4 není vlastnost, alébrž pochybné chování PHPčka, které neexistující konstantu přetypovává na řetězec. E_STRICT na Tebe!
K bodu číslo 10 - píšeš, že &quot;jméno třídy může být zadáno implicitně pomocí proměnné nebo konstanty&quot;. Pomocí proměnné si to představit umím, to je přímo v Tvé ukázce. Jak to ale bude prosím pěkně vypadat s pomocí konstanty? ;)
Na tento komentár odpovedal [9] Jan TichýNa tento komentár odpovedal [10] Dundee]]></description>
		<pubDate>Wed, 08 Jul 2009 21:02:08 +0200</pubDate>
		</item>

		<item>
		<title>Jan Tichý</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1604</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1604</guid>
		<description><![CDATA[#8 Jan Tichý:  Vlastně stačí i E_NOTICE...
]]></description>
		<pubDate>Wed, 08 Jul 2009 21:03:39 +0200</pubDate>
		</item>

		<item>
		<title>Dundee</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1605</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1605</guid>
		<description><![CDATA[#8 Jan Tichý: Hahá, to je ale chyták co? :) Díky, opravím.
]]></description>
		<pubDate>Wed, 08 Jul 2009 23:42:56 +0200</pubDate>
		</item>

		<item>
		<title>paranoiq</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1606</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1606</guid>
		<description><![CDATA[#6 paranoiq:  samozřejmě bez těch zp. lomítek
ještě k bodu 4:
nedefinované konstanty ve jmenných prostorech už PHP řeší správně fatal  errorem. doufám, že časem přitvrdí i u globálních konstant
]]></description>
		<pubDate>Thu, 09 Jul 2009 10:33:36 +0200</pubDate>
		</item>

		<item>
		<title>Matej</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1608</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1608</guid>
		<description><![CDATA[Vyuziti 1#
private void Delej()
{
    {
        if (xx)
            break;

        if (yy)
            break;

        if (ff)
            break;
    }
    dalsi kod
} // konec metody
aneb pri return se ukonci metoda, zatimco v tomhle pouziti se jeste vykona nakej kod.
Aspn myslim, ze by to tak mohlo fungovat...
]]></description>
		<pubDate>Thu, 09 Jul 2009 20:38:51 +0200</pubDate>
		</item>

		<item>
		<title>Miloslav Ponkrác</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1609</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1609</guid>
		<description><![CDATA[K prvnímu příkladu: Složené závorky a cokoli v nich nahrazují jeden příkaz. Kdekoli a kdykoli. To znamená blok jde použít všude, kde lze použít jeden příkaz. To, že blok jde napsat kdekoli, kde příkaz je důsledek syntaktické čistoty a jednoduchosti.
Bylo to převzato z jazyka C, kde blok měl ještě dodatečné vlastnosti. Určoval oblast platnosti proměnných (scope), což php nepřevzalo, a namísto toho vytvořilo pouze jednoduché scopes – global, module, function, superglobal – that's all folks.
Nicméně to neznamená, že blok nedostane žádnou další funkci v budoucnu.
K třetímu příkladu: Na přístup ke znakům pomocí složených závorek bych raději zapomněl. Je to deprecated už řadu let a v PHP6 to zmizí úplně.
K šestému příkladu: Je to prasečina, a dobrý programátor se tomu raději vyhne.
K trikování pomocí řetězců a sestavování názvů proměnných / objektů přes řetězce: Až PHP vylepší optimalizaci, což se dá v příštích verzích očekávat, budete za toto trikování odměněni velkou rychlostní penalizací, neboť tyto triky budou klidně zpomalovat skript i třeba stonásobně. Je jenom otázkou času, kdy PHP zavede překlad předem známých názvů a proměnných na adresy paměti už ve fázi překladu byte kódu. Že k tomu dojde někdy dojde je jisté, neboť to umožní akcelerovat rychlost PHP skriptů do docela velmi závratných výšin, které jsou na hranici fantazie. A zároveň velmi snížit zátěž serverů s PHP. Běh skriptu se velmi zryhlí až na místa … na místa, kde trikujete s tvořením proměnných a objektů pomocí řetězců – tato místa extrémně zpomalí.
Na tento komentár odpovedal [14] Hrach]]></description>
		<pubDate>Thu, 09 Jul 2009 23:27:46 +0200</pubDate>
		</item>

		<item>
		<title>Hrach</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1610</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1610</guid>
		<description><![CDATA[#13 Miloslav Ponkrác:  IMHO není rychlost php vůbec na pořadu dne. zpomalení se děje na jiných úrovních - jako je komunikace s db (tvoření spojení), čtení z disku, apod.
]]></description>
		<pubDate>Fri, 10 Jul 2009 16:24:46 +0200</pubDate>
		</item>

		<item>
		<title>Bochi</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1611</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1611</guid>
		<description><![CDATA[K tomu 5. příkladu by bylo asi dobré říct, že tato vlastnost byla zavedena až v PHP5.
]]></description>
		<pubDate>Sun, 12 Jul 2009 06:32:03 +0200</pubDate>
		</item>

		<item>
		<title>vasava</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1612</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1612</guid>
		<description><![CDATA[Neexistuje aj niečo ako $var = &lt;&lt;&lt; ...? Niekde som znaky &lt;&lt;&lt; v súvislosti s php už videl, len už neviem kedy sa dajú použiť. Google bez výsledku.
Za prípadnú odpoveď ďakujem.
Na tento komentár odpovedal [17] vasava]]></description>
		<pubDate>Sun, 12 Jul 2009 19:29:36 +0200</pubDate>
		</item>

		<item>
		<title>vasava</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1613</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1613</guid>
		<description><![CDATA[#16 vasava:  - príspevok má pokračovanie, zvyšok sa nezobrazil...
]]></description>
		<pubDate>Sun, 12 Jul 2009 19:31:22 +0200</pubDate>
		</item>

		<item>
		<title>eMan</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1614</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1614</guid>
		<description><![CDATA[K příkladu 5 by bylo dobré říct že nefunguje od PHP 5.2
Na tento komentár odpovedal [20] Dundee]]></description>
		<pubDate>Thu, 16 Jul 2009 19:00:05 +0200</pubDate>
		</item>

		<item>
		<title>Petr</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1615</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1615</guid>
		<description><![CDATA[Díky za článek. Něco jsem věděl, něco ne, ale každopádně to dokazuje, že PHP je zajímavý jazyk (teda, pokud bych to chtěl vyjádřit slušně:-))
]]></description>
		<pubDate>Sat, 18 Jul 2009 10:52:27 +0200</pubDate>
		</item>

		<item>
		<title>Dundee</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1616</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1616</guid>
		<description><![CDATA[#18 eMan: Proč by to nemělo v PHP 5.2 fungovat? Funguje to stále a dle mého mínění je to velmi dobrý způsob úpravy obsahu pole při iteraci.
Daleko lepší než 
for($i=0; $i &lt; count($arr); $arr++) $arr[$i] = 0;

nebo 

foreach($arr as $i =&gt; $val) $arr[$i] = 0;
Na tento komentár odpovedal [21] HrachNa tento komentár odpovedal [22] Hrach]]></description>
		<pubDate>Sun, 19 Jul 2009 21:11:33 +0200</pubDate>
		</item>

		<item>
		<title>Hrach</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1617</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1617</guid>
		<description><![CDATA[#20 Dundee:  hovoří tak &quot;php manuál&quot;:http://us3.php.net/manual/en/control-structures.foreach.php
&gt; As of PHP 5, you can easily modify array's elements by preceding $value with &amp;. This will assign reference instead of copying the value.
]]></description>
		<pubDate>Mon, 20 Jul 2009 11:16:35 +0200</pubDate>
		</item>

		<item>
		<title>Hrach</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1618</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1618</guid>
		<description><![CDATA[#20 Dundee:  omlouvám se, je vidět, že čtu jen to, co sem číst chtěl. Měl sem za to, že eman píše o tom, že to nefunguje v php &lt; 5. :D prosím, raději obojí smazat :)
]]></description>
		<pubDate>Mon, 20 Jul 2009 11:18:36 +0200</pubDate>
		</item>

		<item>
		<title>eMan</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1631</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1631</guid>
		<description><![CDATA[Dundee: ale už nemusíš uvaděn znak rerence &amp; .... takže ten příklad takhle jak je fungovat nebude...
Na tento komentár odpovedal [24] Dundee]]></description>
		<pubDate>Thu, 13 Aug 2009 12:55:24 +0200</pubDate>
		</item>

		<item>
		<title>Dundee</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1632</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1632</guid>
		<description><![CDATA[#23 eMan: Pokud chceš měnit obsah toho pole, tak znak reference uvádět musíš.
Viz třeba PHP 5 Power Programming (http://www.informit.com/content/images/013147149X/downloads/013147149X_book.pdf) strana 8 nahoře.
]]></description>
		<pubDate>Thu, 13 Aug 2009 14:11:34 +0200</pubDate>
		</item>

		<item>
		<title>knyttr</title>
		<link>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1660</link>
		<guid>http://blog.milde.cz/post/261-deset-vlastnosti-php-o-kterych-jste-mozna-nevedeli/#post1660</guid>
		<description><![CDATA[Ad 1 - vlastnost často používám například u checkboxů.
V šabloně mám něco jako 
&lt;input type=checkbox value=&quot;ID&quot; {checkedID}&gt;

A v php po tom dělám něco jako:

$sablona-&gt;{&quot;checked&quot;.$id} = &quot;checked&quot;;
Vojta
]]></description>
		<pubDate>Tue, 10 Nov 2009 21:50:22 +0100</pubDate>
		</item></channel>
</rss>
