<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHPBlog.it &#187; tips</title>
	<atom:link href="http://phpblog.it/tag/tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpblog.it</link>
	<description>Solo un altro blog targato WordPress</description>
	<lastBuildDate>Mon, 31 May 2010 20:12:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>10 suggerimenti per migliorare il proprio codice</title>
		<link>http://phpblog.it/2008/11/24/10-suggerimenti-per-migliorare-il-proprio-codice/</link>
		<comments>http://phpblog.it/2008/11/24/10-suggerimenti-per-migliorare-il-proprio-codice/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 06:00:32 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[dalla rete]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[smashingmagazine]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://phpblog.it/2008/11/24/10-suggerimenti-per-migliorare-il-proprio-codice/</guid>
		<description><![CDATA[Smashing Magazine è sempre una fonte interessante di articoli su vari aspetti del mondo informatico ed oggi vi segnalo una lettura che riguarda chiaramente la programmazione in PHP ed è stata scritta da Glen Stansberry. Nell&#8217;articolo vengono proposti 10 suggerimenti per migliorare la propria qualità di programmazione o quantomeno del codice prodotto, alcuni sono davvero [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.smashingmagazine.com/" title="Smashing Magazine"><strong>Smashing Magazine</strong></a> è sempre una fonte interessante di articoli su vari aspetti del mondo informatico ed oggi vi segnalo una lettura che riguarda chiaramente la programmazione in PHP ed è stata scritta da Glen Stansberry. <a href="http://www.smashingmagazine.com/2008/11/18/10-advanced-php-tips-to-improve-your-progamming/" title="10 advanced PHP tips to improve your programming">Nell&#8217;articolo vengono proposti <strong>10 suggerimenti</strong></a><strong> per migliorare la propria qualità di programmazione</strong> o quantomeno del codice prodotto, alcuni sono davvero interessanti.</p>
]]></content:encoded>
			<wfw:commentRss>http://phpblog.it/2008/11/24/10-suggerimenti-per-migliorare-il-proprio-codice/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Semplici tips sempre utili</title>
		<link>http://phpblog.it/2008/05/13/semplici-tips-sempre-utili/</link>
		<comments>http://phpblog.it/2008/05/13/semplici-tips-sempre-utili/#comments</comments>
		<pubDate>Tue, 13 May 2008 06:00:19 +0000</pubDate>
		<dc:creator>Davide Borsatto</dc:creator>
				<category><![CDATA[dalla rete]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[$$]]></category>
		<category><![CDATA[anonymous functions]]></category>
		<category><![CDATA[continue]]></category>
		<category><![CDATA[espressione ternaria]]></category>
		<category><![CDATA[funzioni anonime]]></category>
		<category><![CDATA[lambda calculus]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[variabili]]></category>

		<guid isPermaLink="false">http://phpblog.it/2008/05/13/semplici-tips-sempre-utili/</guid>
		<description><![CDATA[Ecco alcuni suggerimenti che possono sempre tornare utili nella programmazione di tutti i giorni. Noi ve ne proponiamo alcuni, voi siete esortati a raccontarne altri&#8230; Espressione ternaria: $a = ($var == 1) ? 'pippo' : 'pluto'; Tra parentesi la condizione, il valore dopo &#8220;?&#8221; è quello restituito in caso la condizione sia vera, il valore [...]]]></description>
			<content:encoded><![CDATA[<p>Ecco alcuni suggerimenti che possono sempre tornare utili nella programmazione di tutti i giorni. Noi ve ne proponiamo alcuni, voi siete esortati a raccontarne altri&#8230;</p>
<p><span id="more-112"></span></p>
<p><strong>Espressione ternaria</strong>:</p>
<pre>
$a = ($var == 1) ? 'pippo' : 'pluto';</pre>
<p>Tra parentesi la condizione, il valore dopo &#8220;?&#8221; è quello restituito in caso la condizione sia vera, il valore dopo i &#8220;:&#8221; nel caso sia falsa.</p>
<p><strong><em>return</em> è un prezioso amico:</strong></p>
<pre>
if ($a == 1)
{
  return true;
}
else
{
  return false;
{</pre>
<p>diventa</p>
<pre>
return ($a == 1);</pre>
<p>Inoltre è utile per gestire il flusso all&#8217;interno delle funzioni, al posto di usare ad esempio dei blocchi if lunghissimi, basta usare <em>return</em> per interrompere la funzione in un determinato caso. Vale anche per <em>continue</em>, che all&#8217;interno dei loop (for, while, do&#8230;while, foreach) interrompe l&#8217;iterazione corrente per passare all&#8217;eventuale successiva.</p>
<p><strong>Variabile o funzione?</strong><br />
In PHP non c&#8217;è un vero e proprio modo per avere delle <a href="http://en.wikipedia.org/wiki/Anonymous_function">funzioni anonime</a> (vedere &#8220;<a href="http://en.wikipedia.org/wiki/Lambda_Calculus">lambda calculus</a>&#8220;), ma ci sono alcuni modi per ottenere qualcosa di simile. Il primo consiste nel chiamare una variabile col nome di una funzione:</p>
<pre>
$function = "phpinfo";
$function();</pre>
<p>Questo codice eseguirà la funzione phpinfo. Pensiamo al vantaggio che si può avere questa tecnica ad esempio nel passaggio di parametri da una funzione, o in molti altri casi. Ma con questo codice creiamo soltanto un collegamento mnemonico ad una funzione, non la assegniamo alla variabile realmente. Per ottenere questo risultato si può usare:</p>
<pre>
$somma = create_function('$a, $b','return $a + $b;');
echo $somma(1,2);</pre>
<p>La prima stringa sono le variabili da passare alla funzione, la seconda è la funzione stessa. In questo caso è inutile, però in alcune circostanze il suo utilizzo porta molti vantaggi.</p>
<p><strong>Variabili variabili:</strong><br />
Ovvero variabili che variano. In questo caso l&#8217;esempio chiarisce bene il concetto.</p>
<pre>
$var = 'message';
$$var = 'Hello, World!';
echo $message;</pre>
<p>Produrra l&#8217;output &#8220;Hello, World!&#8221;.<br />
Questo perché utilizzando il simbolo $$ PHP lo vedrà come &#8220;la variabile dal nome uguale al contenuto alla variabile indicata&#8221;.</p>
<p>Voi cosa dite? Conoscete altri tips come questi su PHP, o &#8220;trucchetti&#8221; di altri linguaggi che vedreste bene e utili importati anche nel nostro linguaggio preferito?</p>
]]></content:encoded>
			<wfw:commentRss>http://phpblog.it/2008/05/13/semplici-tips-sempre-utili/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Una shell in PHP</title>
		<link>http://phpblog.it/2008/04/01/una-shell-in-php/</link>
		<comments>http://phpblog.it/2008/04/01/una-shell-in-php/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 06:00:48 +0000</pubDate>
		<dc:creator>Davide Borsatto</dc:creator>
				<category><![CDATA[dalla rete]]></category>
		<category><![CDATA[riga di comando]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://php5blog.it/2008/04/01/una-shell-in-php/</guid>
		<description><![CDATA[PHP purtroppo non fornisce di default una shell per la prova dei comandi, come fanno ad esempio python e ruby (con irb). Nella rete per fortuna si trovano delle buone alternative destinate a chi può interessare uno strumento simile. Oggi ho trovato questa compatta soluzione in una riga (due, se si considera quella per indicare [...]]]></description>
			<content:encoded><![CDATA[<p>PHP purtroppo non fornisce di default una <strong>shell</strong> per la prova dei comandi, come fanno ad esempio python e ruby (con irb).</p>
<p>Nella rete per fortuna si trovano delle buone alternative destinate a chi può interessare uno strumento simile.</p>
<p><span id="more-78"></span></p>
<p>Oggi ho trovato questa compatta soluzione in una riga (due, se si considera quella per indicare la posizione dell&#8217;interprete); ecco il codice:</p>
<pre>
#!/usr/bin/php</pre>
<p>O in forma più leggibile</p>
<pre>
#!/usr/bin/php
while (1)
{
fputs ( STDOUT, "\n\-PHP$ ");
eval ( fgets ( STDIN ) );
}
?&gt;</pre>
<p>Questo piccolo script fa nell&#8217;ordine:</p>
<pre>
#!/usr/bin/php</pre>
<p>Indica dove risiede l&#8217;interprete.</p>
<pre>
while (1)</pre>
<p>Apre un <em>loop</em> while infinito, in quanto &#8220;1&#8243; è una condizione sempre vera. Si poteva scrivere anche while (true).</p>
<pre>
fputs ( STDOUT, "\n\-PHP$ ");</pre>
<p>Stampa un bel <strong>prompt</strong> per la nostra shell. STDOUT è la &#8220;destinazione&#8221; dove vengono inviati i dati con fputs.</p>
<pre>
eval ( fgets( STDIN ) );</pre>
<p><em>fgets</em> legge il codice da STDIN (il buffer di input predefinito, leggibile come un file), ed <em>eval</em> prende l&#8217;input, lo trasforma in codice e lo esegue. Semplice no?</p>
]]></content:encoded>
			<wfw:commentRss>http://phpblog.it/2008/04/01/una-shell-in-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
