<?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>modifycando.com &#187; PHP</title>
	<atom:link href="http://www.modifycando.com/category/php-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.modifycando.com</link>
	<description>dal web per il web</description>
	<lastBuildDate>Mon, 06 Feb 2012 07:05:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Agile Web Application Development with Yii 1.1 and PHP5</title>
		<link>http://www.modifycando.com/2011/09/agile-web-application-development-with-yii-1-1-and-php5/</link>
		<comments>http://www.modifycando.com/2011/09/agile-web-application-development-with-yii-1-1-and-php5/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 15:46:52 +0000</pubDate>
		<dc:creator>Modify</dc:creator>
				<category><![CDATA[Libri]]></category>
		<category><![CDATA[Yii]]></category>

		<guid isPermaLink="false">http://www.modifycando.com/?p=3513</guid>
		<description><![CDATA[Questo libro è un passo a passo nello sviluppo di una applicazione real-world utilizzando l&#8217;approccio incrementale e iterativo di sviluppo [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F09%2Fagile-web-application-development-with-yii-1-1-and-php5%2F' data-shr_title='Agile+Web+Application+Development+with+Yii+1.1+and+PHP5'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F09%2Fagile-web-application-development-with-yii-1-1-and-php5%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F09%2Fagile-web-application-development-with-yii-1-1-and-php5%2F' data-shr_title='Agile+Web+Application+Development+with+Yii+1.1+and+PHP5'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F09%2Fagile-web-application-development-with-yii-1-1-and-php5%2F' data-shr_title='Agile+Web+Application+Development+with+Yii+1.1+and+PHP5'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-3513"></div><p style="text-align: justify;"><a title="Agile Web Application Development with Yii 1.1 and PHP5" href="http://www.amazon.it/gp/product/1847199585/ref=as_li_ss_tl?ie=UTF8&amp;tag=modifycandoco-21&amp;linkCode=as2&amp;camp=3370&amp;creative=24114&amp;creativeASIN=1847199585" target="_blank"><img class="alignleft size-full wp-image-3514" title="Agile Web Application Development with Yii 1.1 and PHP5 " src="http://www.modifycando.com/wp-content/uploads/yii.jpg" alt="Agile Web Application Development with Yii 1.1 and PHP5 " width="240" height="240" /></a>Questo libro è un passo a passo nello sviluppo di una applicazione real-world utilizzando l&#8217;approccio incrementale e iterativo di sviluppo del software.</p>
<p style="text-align: justify;">Si impara di sviluppo software su agile appoggiandosi sulla natura agile del quadro di sviluppo di applicazioni <strong><a href="http://www.modifycando.com/tag/yii/" class="st_tag internal_tag" rel="tag" title="Post taggati con Yii">Yii</a></strong>.</p>
<p style="text-align: justify;">Si toccano ogni aspetto del ciclo di sviluppo software mediante la costruzione di un compito applicazione la gestione del progetto, dalla concezione fino al deployment di produzione.</p>
<p><span id="more-3513"></span></p>
<div style="border: thin solid orange;" align="center"><a href="http://www.amazon.it/gp/product/1847199585/ref=as_li_ss_tl?ie=UTF8&amp;tag=modifycandoco-21&amp;linkCode=as2&amp;camp=3370&amp;creative=24114&amp;creativeASIN=1847199585">ACQUISTALO SU AMAZON!<br />
Agile Web Application Development with Yii 1.1 and PHP5</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.it/e/ir?t=modifycandoco-21&amp;l=as2&amp;o=29&amp;a=1847199585" alt="" width="1" height="1" border="0" /></div>
<p style="text-align: justify;">Dopo una breve introduzione generale al quadro Yii e definisce l&#8217;impostazione dello sviluppo software adottato in tutto il libro, i capitoli abbattere nello stesso modo come iterazioni di sviluppo del software fare a progetti reali.</p>
<p style="text-align: justify;">Dopo la prima iterazione, si avrà una domanda di lavoro e testati con una valida, collegamento testato per un database.</p>
<p style="text-align: justify;">Nelle iterazioni 2a e 3a, abbiamo la nostra carne entità del database principale e oggetto modello di dominio e familiarizzare con gli oggetti Yù-relazionale-mapping (ORM) strato, Active Record.</p>
<p style="text-align: justify;">Abbiamo anche imparare ad appoggiarsi sugli strumenti Yii di auto-generazione per costruire automaticamente la nostra creazione / lettura / aggiornamento / eliminazione (CRUD), la funzionalità contro il nostro modello appena creato.</p>
<p style="text-align: justify;">Queste iterazioni anche concentrarsi su come la validazione dei form Yii e le opere del modello di sottomissione. Entro la fine della terza iterazione si avrà una domanda di lavoro che ti permette di rogna progetti e problemi (compiti) all&#8217;interno di tali progetti.</p>
<div style="border: thin solid orange;" align="center"><a href="http://www.amazon.it/gp/product/1847199585/ref=as_li_ss_tl?ie=UTF8&amp;tag=modifycandoco-21&amp;linkCode=as2&amp;camp=3370&amp;creative=24114&amp;creativeASIN=1847199585">ACQUISTALO SU AMAZON!<br />
Agile Web Application Development with Yii 1.1 and PHP5</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.it/e/ir?t=modifycandoco-21&amp;l=as2&amp;o=29&amp;a=1847199585" alt="" width="1" height="1" border="0" /></div>
<p><div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><!-- FACEBOOK "MI PIACE" -->
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%23%21%2Fpages%2FModifycandocom%2F132259753483033&layout=standard&show_faces=true&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:550px; height:80px;" allowTransparency="true"></iframe>
<br></p>
<div class="shr-publisher-3513"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.modifycando.com/2011/09/agile-web-application-development-with-yii-1-1-and-php5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creare documenti PDF in Php</title>
		<link>http://www.modifycando.com/2011/08/creare-documenti-pdf-in-php/</link>
		<comments>http://www.modifycando.com/2011/08/creare-documenti-pdf-in-php/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 08:13:28 +0000</pubDate>
		<dc:creator>Modify</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[FPDF]]></category>
		<category><![CDATA[PDF]]></category>

		<guid isPermaLink="false">http://www.modifycando.com/?p=3220</guid>
		<description><![CDATA[In questo articolo vediamo dei modi per creare documenti PDF al volo utilizzando PHP. Attualmente il formato Pdf (Portable Document [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F08%2Fcreare-documenti-pdf-in-php%2F' data-shr_title='Creare+documenti+PDF+in+Php'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F08%2Fcreare-documenti-pdf-in-php%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F08%2Fcreare-documenti-pdf-in-php%2F' data-shr_title='Creare+documenti+PDF+in+Php'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F08%2Fcreare-documenti-pdf-in-php%2F' data-shr_title='Creare+documenti+PDF+in+Php'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-3220"></div><p><a href="http://www.modifycando.com/wp-content/uploads/pdfinphp.jpg"><img class="alignleft size-thumbnail wp-image-3226" title="pdf php" src="http://www.modifycando.com/wp-content/uploads/pdfinphp-150x150.jpg" alt="pdf php" width="150" height="150" /></a></p>
<p style="text-align: justify;">In questo articolo vediamo dei modi per creare documenti <a href="http://www.modifycando.com/tag/pdf/" class="st_tag internal_tag" rel="tag" title="Post taggati con PDF">PDF</a> al volo utilizzando <a href="http://www.modifycando.com/tag/php/" class="st_tag internal_tag" rel="tag" title="Post taggati con php">PHP</a>.</p>
<p style="text-align: justify;">Attualmente il formato Pdf (Portable Document Format) è in pratica uno standard, per quanto riguarda i documenti multipiattaforma.<br />
Esistono numerose librerie PHP che permettono la creazione di file PDF e qui cercheremo di analizzarno qualcuna.</p>
<p><span id="more-3220"></span></p>
<h2 style="text-align: justify;"><a href="http://www.modifycando.com/tag/fpdf/" class="st_tag internal_tag" rel="tag" title="Post taggati con FPDF">FPDF</a></h2>
<p style="text-align: justify;"><strong>FPDF</strong> è una libreria scritta in php che permette di generare file PDF con puro PHP, vale a dire senza utilizzare la libreria PDFlib. Il suo punto di forza è nella semplicità del suo codice e nella vasta comunità che ha messo a disposizione alcune soluzioni pronte molto utili.</p>
<p style="text-align: justify;">La libreria dispone di un&#8217;ampia documentazione in forma di manuale e di tutorial.</p>
<p style="text-align: justify;">La lettera<strong> F di FPDF sta per Free </strong>infatti la si può utilizzare per qualsiasi tipo di utilizzo e modificarlo in base alle  esigenze.  FPDF ha altri vantaggi, funzioni decisamente di alto livello:</p>
<ul style="text-align: justify;">
<li>Scelta dell’unità di misura, il formato pagina e dei margini</li>
<li>Pagina di intestazione e piè di pagina</li>
<li>Interruzione di pagina e di Linea automatica</li>
<li>Giustificazione del testo</li>
<li>Supporto delle immagini (JPEG e PNG)</li>
<li>Colori</li>
<li>Links</li>
<li>TrueType, Type1 e il supporto di codifica</li>
<li>Pagina di compressione</li>
</ul>
<p style="text-align: justify;">FPDF <strong>non richiede alcuna estensione</strong> (eccetto zlib per attivare la compressione) e lavora con PHP4 e <strong>PHP5</strong>.</p>
<p>Ulteriori informazioni su FPDF sono disponibili all’indirizzo: <a href="http://www.fpdf.org/">fpdf.org/</a>.</p>
<p>Per utilizzare FPDF basta richiamarla da qualsiasi pagina tramite una require()</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'fpdf.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>A questo punto con poche righe di codice sarà possibile generare i nostri documenti PDF al volo.</p>
<p>Vediamo un esempio :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> ?php
<span style="color: #b1b100;">require</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'fpdf.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$pdf</span> <span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> FPDF<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$pdf</span> <span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span> AddPage<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$pdf</span> <span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span> SetFont<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Arial'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'B'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">16</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$pdf</span> <span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span> Cell<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">40</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Pdf document'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$pdf</span> <span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span> Output<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify;">E&#8217; possibile modificare i parametri predefiniti passandoli come argomento alla classe ad esempio:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$pdf</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> FPDF<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'L'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'cm'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'A3'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify;">Dove &#8220;L&#8221; indica il formato con allineamento orrizzontale e &#8220;cm&#8221; l&#8217;unità di misura espressa in centimetri.</p>
<p>Tramite il metodo <strong>output()</strong>, il documento viene creato e spedito al browser.</p>
<p>&nbsp;</p>
<h2 style="text-align: justify;">TCPDF</h2>
<p style="text-align: justify;">Da Fpdf è nata TCPDF è una classe Open Source PHP per la generazione di documenti PDF. Il progetto TCPDF è stato avviato nel 2002 e oggi conta milioni di utilizzatori in tutto il mondo.<br />
TCPDF è un Software Libero e Open Source (FLOSS). Può essere scaricata da <a title="sourceforge" href="http://sourceforge.net/project/showfiles.php?group_id=128076" target="_blank">SourceForge</a>.</p>
<h2 style="text-align: justify;">PDFlib</h2>
<p style="text-align: justify;">La libreria PDFlib è un&#8217;estensione di php che si interfaccia ad API scritte in ANSI C quindi è la libreria più veloce in circolazione.<br />
Inoltre facendo parte di php è anche molto ben documentata.<br />
Tuttavia è poco diffusa poiché richiede interventi sull’installazione di PHP, poichè essendo un&#8217;estensione dell&#8217;interprete si ha la necessità di ricompilare il php stesso.<br />
Inoltre è distribuita a pagamento con licenze che partono dai 795,00 Euro per server!</p>
<p>Per informazioni si può consultare la pagina ufficiale <a title="pdflib" href="http://www.pdflib.com/" target="_blank">PDFlib</a>.<br />
Ecco anche per questa libreria un breve esempio per capirne il funzionamento.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> ?
    <span style="color: #000088;">$pdf</span> <span style="color: #339933;">=</span> <span style="color: #990000;">pdf_new</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">pdf_open_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pdf</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;filepdfdiesempio.pdf&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">pdf_begin_page</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pdf</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">595</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">842</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">pdf_show_xy</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pdf</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;testo da inserire nel nostro file pdf&quot;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">50</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">750</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">pdf_end_page</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pdf</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">pdf_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pdf</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></pre></div></div>

<p>Vediamo alcune delle funzioni usate:</p>
<p><strong>pdf_new()</strong> Crea un&#8217;istanza dell&#8217;oggetto PDF Lib che viene aperta da <strong>pdf_open_file()</strong>.</p>
<p><strong>pdf_begin_page()</strong> Imposta il formato della pagina.</p>
<p><strong>pdf_show_xy()</strong> è usata per scrivere all&#8217;interno del documento pdf da creare.</p>
<p><strong>pdf_end_page()</strong> : Chiude il buffer di memoria del file temporaneo</p>
<p><strong>pdf_close()</strong> : Distrugge l&#8217;oggetto PDF Lib</p>
<p><div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><br />
<!-- FACEBOOK "MI PIACE" -->
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%23%21%2Fpages%2FModifycandocom%2F132259753483033&layout=standard&show_faces=true&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:550px; height:80px;" allowTransparency="true"></iframe>
<br></p>
<div class="shr-publisher-3220"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.modifycando.com/2011/08/creare-documenti-pdf-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il framework Yii e l&#8217;MVC</title>
		<link>http://www.modifycando.com/2011/07/il-framework-yii-e-lmvc/</link>
		<comments>http://www.modifycando.com/2011/07/il-framework-yii-e-lmvc/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 13:31:30 +0000</pubDate>
		<dc:creator>Modify</dc:creator>
				<category><![CDATA[Yii]]></category>

		<guid isPermaLink="false">http://www.modifycando.com/?p=3100</guid>
		<description><![CDATA[Yii implementa, il pattern architetturale MVC (Model-View-Controller) . Ampiampente utilizzato nel web anche da altri grossi framework, è una tecnica [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F07%2Fil-framework-yii-e-lmvc%2F' data-shr_title='Il+framework+Yii+e+l%27MVC'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F07%2Fil-framework-yii-e-lmvc%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F07%2Fil-framework-yii-e-lmvc%2F' data-shr_title='Il+framework+Yii+e+l%27MVC'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F07%2Fil-framework-yii-e-lmvc%2F' data-shr_title='Il+framework+Yii+e+l%27MVC'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-3100"></div><p style="text-align: justify;"><strong><a href="http://www.modifycando.com/tag/yii/" class="st_tag internal_tag" rel="tag" title="Post taggati con Yii">Yii</a></strong> implementa, il pattern architetturale <strong>MVC</strong> (Model-View-Controller) .<br />
Ampiampente utilizzato nel web anche da altri grossi framework, è una tecnica di sviluppo di sistemi software che si propone di separare la logica di business da tutto ciò che è interfaccia utente.<span id="more-3100"></span><br />
In questo modo gli sviluppatori possono lavorare ai vari blocchi in maniera indipendente.<br />
Nell&#8217; MVC, il <strong>model</strong> rappresenta le informazioni (i dati) e le regole di business cioè il significato dei dati stessi e come i dati devono essere trattati ed elaborati, il <strong>View</strong> contiene gli elementi dell&#8217;interfaccia utente (in un sito si parlerebbe di template o layout) cioè come i dati vengono prsentati , mentre il <strong>Controller</strong> gestisce la comunicazione tra il model e view.</p>
<p style="text-align: justify;">Oltre ad applicare l&#8217;MVC, Yii introduce anche un controller, denominato <strong><code>Application</code></strong>, che racchiude il contesto dell&#8217;applicazione ed elabora le richieste.</p>
<p style="text-align: justify;">Dal sito ufficiale di <a title="www.yiiframework.com" href="www.yiiframework.com" target="_blank">Yii </a>ecco un&#8217;immagine che rappresenta la struttura di un applicazione Yii.</p>
<div id="attachment_3105" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.modifycando.com/wp-content/uploads/mvc-yii.png"><img class="size-full wp-image-3105" title="mvc yii" src="http://www.modifycando.com/wp-content/uploads/mvc-yii.png" alt="mvc yii" width="400" height="300" /></a><p class="wp-caption-text">Struttura di una applicazione Yii</p></div>
<p><div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div></p>
<p>Sempre dal sito ufficiale ecco il tipico flusso di lavoro dell&#8217;applicazione sviluppata tramite <strong>Yii</strong>.</p>
<div id="attachment_3108" class="wp-caption aligncenter" style="width: 430px"><a href="http://www.modifycando.com/wp-content/uploads/yii-flusso.png"><img class="size-full wp-image-3108" title="yii-flusso" src="http://www.modifycando.com/wp-content/uploads/yii-flusso.png" alt="yii-flusso" width="420" height="520" /></a><p class="wp-caption-text">Flusso di lavoro Yii</p></div>
<ul>
<li>L&#8217;utente effettua una richiesta all&#8217;URL http://www.mia_app.com/index.<a href="http://www.modifycando.com/tag/php/" class="st_tag internal_tag" rel="tag" title="Post taggati con php">php</a>?r=post/show&amp;id=1 e il server Web gestisce la richiesta eseguendo lo script index.<a href="http://www.modifycando.com/tag/php/" class="st_tag internal_tag" rel="tag" title="Post taggati con php">php</a>.</li>
</ul>
<ul>
<li>Lo script crea un istanza dell&#8217;oggetto Application e lo avvia.</li>
<li>L&#8217;oggetto Application recupera informazioni sulle richieste dell&#8217;utente dal componente Request, dell&#8217;applicazione.</li>
<li>L&#8217;applicazione determina il Controller e la Action da utilizzare per la richiesta con l&#8217;aiuto di un componente denominato urlManager.</li>
<li>L&#8217;applicazione crea un&#8217;istanza del controller da utilizzare.</li>
<li>Successivamente, elaborati i dati tramite il model, viene stabilita la view da utilizzare per presentare i risultati.</li>
<li>La Action termina la View visualizzando i risultati all&#8217;utente</li>
</ul>
<p>Questo post spiega molto brevemente ed in modo molto semplificato il flusso di lavoro di Yii.</p>
<p>Per una delucidazione generale sul pattern MVC un libro adatto è il seguente : <a href="http://www.amazon.it/gp/product/8820343592/ref=as_li_ss_tl?ie=UTF8&#038;tag=modifycandoco-21&#038;linkCode=as2&#038;camp=3370&#038;creative=24114&#038;creativeASIN=8820343592">PHP 6. Guida per lo sviluppatore (Linguaggi &#038; programmazione)</a><img src="http://www.assoc-amazon.it/e/ir?t=&#038;l=as2&#038;o=29&#038;a=8820343592" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> in cui si discute di PHP 6 di MVC e di programmazione OO.</p>
<p><!-- FACEBOOK "MI PIACE" -->
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%23%21%2Fpages%2FModifycandocom%2F132259753483033&layout=standard&show_faces=true&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:550px; height:80px;" allowTransparency="true"></iframe>
<br></p>
<div class="shr-publisher-3100"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.modifycando.com/2011/07/il-framework-yii-e-lmvc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Framework Yii, installazione e primi settaggi su windows</title>
		<link>http://www.modifycando.com/2011/07/framework-yii-installazione-e-primi-settaggi/</link>
		<comments>http://www.modifycando.com/2011/07/framework-yii-installazione-e-primi-settaggi/#comments</comments>
		<pubDate>Sat, 23 Jul 2011 13:07:13 +0000</pubDate>
		<dc:creator>Modify</dc:creator>
				<category><![CDATA[Yii]]></category>

		<guid isPermaLink="false">http://www.modifycando.com/?p=3090</guid>
		<description><![CDATA[Yii è un framework Php per lo sviluppo di applicazioni Web 2.0. Si tratta di un Framework abbastanza giovane e [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F07%2Fframework-yii-installazione-e-primi-settaggi%2F' data-shr_title='Framework+Yii%2C+installazione+e+primi+settaggi+su+windows'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F07%2Fframework-yii-installazione-e-primi-settaggi%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F07%2Fframework-yii-installazione-e-primi-settaggi%2F' data-shr_title='Framework+Yii%2C+installazione+e+primi+settaggi+su+windows'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F07%2Fframework-yii-installazione-e-primi-settaggi%2F' data-shr_title='Framework+Yii%2C+installazione+e+primi+settaggi+su+windows'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-3090"></div><p style="text-align: justify;"><strong><a href="http://www.modifycando.com/wp-content/uploads/yii_framework.jpg"><img class="alignleft size-thumbnail wp-image-3091" title="yii framework" src="http://www.modifycando.com/wp-content/uploads/yii_framework-150x150.jpg" alt="yii framework" width="150" height="150" /></a><a href="http://www.modifycando.com/tag/yii/" class="st_tag internal_tag" rel="tag" title="Post taggati con Yii">Yii</a></strong> è un framework <a href="http://www.modifycando.com/tag/php/" class="st_tag internal_tag" rel="tag" title="Post taggati con php">Php</a> per lo sviluppo di applicazioni Web 2.0. Si tratta di un Framework abbastanza giovane e si inserisce in un mercato già ricco di alternative, ma ha delle feature interessanti, inoltre è leggero e molto veloce, dalle performance eccezionali. Per questi motivi sta diventando velocemente uno dei Framework più apprezzati.</p>
<p style="text-align: justify;">Yii è basato sul pattern <strong>MVC</strong>, supporta <strong>jQuery</strong> e può operare con i database quali <strong>SQLite</strong>, <strong>MySQL</strong>, <strong>PostgreSQL</strong> e <strong>Oracle</strong>.<span id="more-3090"></span>In questo e nei prossimi post, vedremo come utilizzarlo al meglio per le nostre applicazioni.</p>
<p>Iniziamo dall&#8217;installazione e dai settaggi iniziali.</p>
<p title="download yii">Yii è disponibile gratuitamente all&#8217;indirizzo <a title="download yii" href="http://www.yiiframework.com/" target="_blank">Sito Web ufficiale del Yii Framework </a>.</p>
<p title="download yii">Tutto il core del Framewrk è contenutio in un file Zip che al suo interno contiene le cartelle</p>
<ul>
<li><strong>demos</strong></li>
<li><strong>framework</strong></li>
<li><strong>requirements</strong></li>
<li>altri file (changelog, readme ecc..)</li>
</ul>
<p style="text-align: justify;">La cartella requirements contiene degli applicativi che verificano i requisiti di sistema del webserver per valutare se è possibile utilizzare Yii.</p>
<p style="text-align: justify;">La cartella Demos contiene delle applicazioni di esempio realizzate con Yii.</p>
<p style="text-align: justify;">La cartella che serve realmente per la realizzazione delle applicazioni è la cartella <strong>framework</strong> .</p>
<p style="text-align: justify;">Supponiamo di voler realizzare l&#8217;applicazione <strong>Yiitest</strong>.</p>
<p style="text-align: justify;">Nella root del nostro webserver  (se utilizziamo wamp la root sarà <em><strong>c:\wamp\www</strong></em> ) creaiamo una cartella chiamata Yiitest ( nel nostro caso <em><strong>c:\wamp\www\Yiitest</strong></em> ).</p>
<p style="text-align: justify;">All&#8217;interno dela cartella della nostra applicazione copiamo la cartella framework vista prima.</p>
<p style="text-align: justify;">Ora ,  andiamo nella cartella <em><strong>c:\wamp\www\Yiitest\framework </strong></em>e digitiamo la riga di comando</p>
<blockquote>
<p style="text-align: justify;"><em><strong>yiic</strong> webapp </em>c:\wamp\www\Yiitest</p>
</blockquote>
<p>&nbsp;</p>
<p>Verrà chisto di confermare l&#8217;operazione <em>“Create we application under ‘C:\wamp\www\yytest’? [Yes:No]“</em></p>
<p>Scegliendo Yes verrà creata la struttura di base per la realizzazione della nostra applicazione.</p>
<p>Ora non resta che inserire il nostro codice e continuare con lo sviluppo dell&#8217;applicazione.</p>
<p>&nbsp;</p>
<h2>Soluzione di alcuni problemi</h2>
<p>Potrebbe capitare che il sistema non riesca ad eseguire il comando Yii. Questo è dovuto al fatto che probabilmente alcune variabili d&#8217;ambiente non sono impostate correttamente.</p>
<p>Sicuremente il problema è nella configurazione della cartelle dove risiede il core per l&#8217;utilizzo di PHP.</p>
<p>Quello che dobbiamo fare è aggiungere alla variabile d&#8217;ambiente PATH il corretto indirizzo dell&#8217;eseguibile PHP.exe</p>
<p>Nei sistemi Windows xp basta andare in</p>
<p><strong>Start -&gt; My Computer -&gt; Advanced Tab -&gt; Environment Variables </strong></p>
<p>e modificare la variabile PATH aggiungendo il percorso mancante .</p>
<p>Nei sistemi Windows 7 basta andare in Pannello di controllo -&gt; Sistema -&gt; Impostazioni di Sistema Avanzate e scegliere V&#8217;ariabili d&#8217;ambiente.</p>
<p>Il percorso da inserire di solito (se si usa wamp) è del tipo C:\wamp\bin\php\php5.3.0 dove l&#8217;ultima cartella dipende dalla versione di Php utilizzata.</p>
<p>Attenzione a non cancellare il contenuto della variabile Path, ma aggiungere in coda preceduto da un &#8220;;&#8221; il percorso desiderato.</p>
<p><div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><!-- FACEBOOK "MI PIACE" -->
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%23%21%2Fpages%2FModifycandocom%2F132259753483033&layout=standard&show_faces=true&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:550px; height:80px;" allowTransparency="true"></iframe>
<br></p>
<div class="shr-publisher-3090"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.modifycando.com/2011/07/framework-yii-installazione-e-primi-settaggi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilizzare la classe JDatabaseQuery in Joomla 1.6</title>
		<link>http://www.modifycando.com/2011/04/utilizzare-la-classe-jdatabasequery-in-joomla-1-6/</link>
		<comments>http://www.modifycando.com/2011/04/utilizzare-la-classe-jdatabasequery-in-joomla-1-6/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 16:12:38 +0000</pubDate>
		<dc:creator>Modify</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[JDatabaseQuery]]></category>
		<category><![CDATA[Joomla 1.6]]></category>

		<guid isPermaLink="false">http://www.modifycando.com/?p=2097</guid>
		<description><![CDATA[Utilizzare la classe JDatabaseQuery in Joomla 1.6 La struttura del database di Joomla è rimasto pressochè invariato dalla verisone Joomla [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F04%2Futilizzare-la-classe-jdatabasequery-in-joomla-1-6%2F' data-shr_title='Utilizzare+la+classe+JDatabaseQuery+in+Joomla+1.6'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F04%2Futilizzare-la-classe-jdatabasequery-in-joomla-1-6%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F04%2Futilizzare-la-classe-jdatabasequery-in-joomla-1-6%2F' data-shr_title='Utilizzare+la+classe+JDatabaseQuery+in+Joomla+1.6'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F04%2Futilizzare-la-classe-jdatabasequery-in-joomla-1-6%2F' data-shr_title='Utilizzare+la+classe+JDatabaseQuery+in+Joomla+1.6'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-2097"></div><p><a href="http://www.modifycando.com/wp-content/uploads/joomla161.jpg"><img src="http://www.modifycando.com/wp-content/uploads/joomla161-150x150.jpg" alt="Utilizzare la classe JDatabaseQuery in Joomla 1.6" title="Utilizzare la classe JDatabaseQuery in Joomla 1.6" width="150" height="150" class="alignleft size-thumbnail wp-image-2098" /></a>Utilizzare la classe <a href="http://www.modifycando.com/tag/jdatabasequery/" class="st_tag internal_tag" rel="tag" title="Post taggati con JDatabaseQuery">JDatabaseQuery</a> in <a href="http://www.modifycando.com/tag/joomla-1-6/" class="st_tag internal_tag" rel="tag" title="Post taggati con Joomla 1.6">Joomla 1.6</a></p>
<p style="text-align: justify;">
La struttura del database di Joomla è rimasto pressochè invariato dalla verisone Joomla 1.0  lanciata nel 2005.<br />
Dopo sei anni, era abbastanza prevedibile un refactoring, per risolvere diversi problemi  esistenti e per preparare il terreno per i prossimi cinque o sei anni di sviluppo.<br />
Nell&#8217;ultima vesrsione Joomla 1.6 ci sono dei cambiamentei nell schema del database e nelle strutture dati che gestiscono lo stesso Db.<br />
In questo e in successivi articoli vedidremo alcune di queste novità e come utilizzarle dal punto di vista dello sviluppo.
</p>
<p style="text-align: justify;">
Oggi parliamo di JDatabaseQuery.<br />
E&#8217; una nuova classe nata per rispondere alle richieste di un supporto migliore ai motori di database esistenti,  e per una maggiore scalabilità del sistema.<br />
Joomla 1.6 introduce appunto una nuova classe utilizzata per la generazione di query che gli sviluppatori possono facoltativamente sfruttare. </p>
<p style="text-align: justify;">
Questa classe consente di astrarsi dal database usato.<br />
Si noti inoltre che in <a href="http://www.modifycando.com/tag/php/" class="st_tag internal_tag" rel="tag" title="Post taggati con php">PHP</a> è possibile utilizzare il concatenamento e creare query anche molto complesse programmando in un modo molto ordinato e pulito.
</p>
<p style="text-align: justify;">
Vediamo degli esempi pratici.
</p>
<p style="text-align: justify;">
Nella versione precedente di Joomla per creare  una query si usava
</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> JFactory<span style="color: #339933;">::</span><span style="color: #004000;">getDbo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setQuery</span><span style="color: #009900;">&#40;</span>
	 <span style="color: #0000ff;">'SELECT *'</span><span style="color: #339933;">.</span>
	 <span style="color: #0000ff;">' FROM #__articles'</span><span style="color: #339933;">.</span>
	 <span style="color: #0000ff;">' WHERE state = '</span><span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$published</span><span style="color: #339933;">.</span>
	 <span style="color: #0000ff;">'  AND catid = '</span><span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$categoryId</span><span style="color: #339933;">.</span>
	 <span style="color: #0000ff;">' ORDER BY created DESC'</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify;">
che crea una query che legge tutti gli articoli della categoria selezionata con lo stato selezionato ordinati in base alla data di creazione descrescente.
</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> JFactory<span style="color: #339933;">::</span><span style="color: #004000;">getDbo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getQuery</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">select</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'*'</span><span style="color: #009900;">&#41;</span>
	 <span style="color: #339933;">-&gt;</span><span style="color: #004000;">from</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#__articles'</span><span style="color: #009900;">&#41;</span>
	 <span style="color: #339933;">-&gt;</span><span style="color: #004000;">where</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'state = '</span><span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$published</span><span style="color: #009900;">&#41;</span>
	 <span style="color: #339933;">-&gt;</span><span style="color: #004000;">where</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'catid = '</span><span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$categoryId</span><span style="color: #009900;">&#41;</span>
	 <span style="color: #339933;">-&gt;</span><span style="color: #004000;">order</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'created DESC'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setQuery</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Vediamo ora un esempio più complesso.<br />
<div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><br />
Preso direttamente dalla documentazione online di joomla 1.6</p>
<p style="text-align: justify;">
Consideriamo un caso in cui ci sono tre tabelle denominate &#8220;__pt_property&#8221;, &#8220;__pt_building&#8221; e &#8220;__pt_unit&#8221;.<br />
Le chiavi primarie per queste tabelle sono &#8220;property_id&#8221;, &#8220;building_id&#8221; e &#8220;unit_id&#8221;, rispettivamente.<br />
Vogliamo costruire una query che restituisce il numero di unità associate a un property_id.<br />
La tabella __pt_unit non ha relazione diretta con la tabella di __pt_property.<br />
Essa ha una relazione con la tabella __pt_building, che a sua volta ha una relazione con la tabella di proprietà.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000088;">$db</span> <span style="color: #339933;">=&amp;</span> JFactory<span style="color: #339933;">::</span><span style="color: #004000;">getDBO</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getQuery</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">select</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'count(*)'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">from</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#__pt_building AS b'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">leftJoin</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#__pt_unit AS u ON b.building_id = u.building_id'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">where</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'b.property_id = '</span><span style="color: #339933;">.</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$property_id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setQuery</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><br />
Ecco gli altri metodi della classe</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"> 	select <span style="color: #009900;">&#40;</span><span style="color: #000088;">$columns</span><span style="color: #009900;">&#41;</span>
	delete <span style="color: #009900;">&#40;</span><span style="color: #000088;">$table</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
 	insert <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tables</span><span style="color: #009900;">&#41;</span>
 	update <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tables</span><span style="color: #009900;">&#41;</span>
 	from <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tables</span><span style="color: #009900;">&#41;</span>
 	<span style="color: #990000;">join</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$type</span><span style="color: #339933;">,</span> <span style="color: #000088;">$conditions</span><span style="color: #009900;">&#41;</span>
 	innerJoin <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conditions</span><span style="color: #009900;">&#41;</span>
 	outerJoin <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conditions</span><span style="color: #009900;">&#41;</span>
 	leftJoin <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conditions</span><span style="color: #009900;">&#41;</span>
 	rightJoin <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conditions</span><span style="color: #009900;">&#41;</span>
 	set <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conditions</span><span style="color: #339933;">,</span> <span style="color: #000088;">$glue</span><span style="color: #339933;">=</span><span style="color: #0000ff;">','</span><span style="color: #009900;">&#41;</span>
 	where <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conditions</span><span style="color: #339933;">,</span> <span style="color: #000088;">$glue</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'AND'</span><span style="color: #009900;">&#41;</span>
 	group <span style="color: #009900;">&#40;</span><span style="color: #000088;">$columns</span><span style="color: #009900;">&#41;</span>
 	having <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conditions</span><span style="color: #339933;">,</span> <span style="color: #000088;">$glue</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'AND'</span><span style="color: #009900;">&#41;</span>
 	order <span style="color: #009900;">&#40;</span><span style="color: #000088;">$columns</span><span style="color: #009900;">&#41;</span>
 	clear <span style="color: #009900;">&#40;</span><span style="color: #000088;">$clause</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>	
 	__toString <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>Ognuno di questi metodi serve per comporre la query.<br />
Si possono richiamare anche in modo non ordinato e alla fine l&#8217;oggetto query avrà sempre la medesima stringa sql.<br />
<div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><br />
<!-- FACEBOOK "MI PIACE" -->
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%23%21%2Fpages%2FModifycandocom%2F132259753483033&layout=standard&show_faces=true&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:550px; height:80px;" allowTransparency="true"></iframe>
<br></p>
<div class="shr-publisher-2097"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.modifycando.com/2011/04/utilizzare-la-classe-jdatabasequery-in-joomla-1-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rilasciato Php 5.3.6</title>
		<link>http://www.modifycando.com/2011/03/rilasciato-php-5-3-6/</link>
		<comments>http://www.modifycando.com/2011/03/rilasciato-php-5-3-6/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 21:38:28 +0000</pubDate>
		<dc:creator>Modify</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.modifycando.com/?p=2014</guid>
		<description><![CDATA[Il team di sviluppo di PHP ha annunciato l&#8217;uscita di PHP 5.3.6 un aggiornamento di manutenzione per l’interprete PHP.  Questo [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F03%2Frilasciato-php-5-3-6%2F' data-shr_title='Rilasciato+Php+5.3.6'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F03%2Frilasciato-php-5-3-6%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F03%2Frilasciato-php-5-3-6%2F' data-shr_title='Rilasciato+Php+5.3.6'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F03%2Frilasciato-php-5-3-6%2F' data-shr_title='Rilasciato+Php+5.3.6'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-2014"></div><div>
<p style="text-align: justify;"><a href="http://www.modifycando.com/wp-content/uploads/php1.jpg"><img class="alignleft size-thumbnail wp-image-2017" style="margin: 5px;" title="php" src="http://www.modifycando.com/wp-content/uploads/php1-150x150.jpg" alt="php" width="150" height="150" /></a>Il team di sviluppo di <strong><a href="http://www.modifycando.com/tag/php/" class="st_tag internal_tag" rel="tag" title="Post taggati con php">PHP</a> </strong>ha annunciato l&#8217;uscita di <a rel="nofollow" href="http://www.php.net/archive/2011.php#id2011-03-17-1" target="_blank">PHP 5.3.6</a> un aggiornamento di manutenzione per l’interprete PHP.   Questo nuovo rilascio è finalizzato a migliorare la stabilità di PHP  5.3 grazie alla correzione di più di 60 bachi, tra i quali  potenziali problemi di sicurezza.</p>
<p style="text-align: justify;">Introdotte anche alcune migliorie,  come l&#8217;aggiornamento di Sqlite3 alla versione 3.7.4 e di PCRE alla  versione 8.11.</p>
<p style="text-align: justify;">La possibilità di connettersi a siti <code>HTTPS</code> tramite un proxy è stato anche aggiunto come opzioni per il debug di funzioni <em>backtrace</em>.<span id="more-2014"></span></p>
<p style="text-align: justify;">Un elenco completo delle modifiche è disponibile nel <a rel="nofollow" href="http://www.php.net/ChangeLog-5.php#5.3.6"><em>change log</em></a> del rilascio.</p>
<p style="text-align: justify;">Nell&#8217;annuncio si legge anche che la versione per Windows di PHP 5.3.6  è stata realizzata compilando i sorgenti solo con Visual Studio C++ 9.  Visual Studio C++ 6 infatti non gode più del supporto ufficiale da parte  di Microsoft. Per tale ragione viene consigliato l&#8217;utilizzo dei binari  di Apache disponibili su <a rel="nofollow" href="http://www.apachelounge.com/download/" target="_blank">Apache Lounge</a> e realizzati proprio con Visual Studio C++ 9.</p>
<p style="text-align: justify;">Ribadita, a conclusione dell&#8217;annuncio, la fine del supporto al ramo  5.2 di PHP e l&#8217;incoraggiamento, rivolto a tutti gli utenti, a passare a  PHP 5.3.</p>
<p><div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><!-- FACEBOOK "MI PIACE" -->
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%23%21%2Fpages%2FModifycandocom%2F132259753483033&layout=standard&show_faces=true&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:550px; height:80px;" allowTransparency="true"></iframe>
<br></p>
</div>
<div class="shr-publisher-2014"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.modifycando.com/2011/03/rilasciato-php-5-3-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recuperare velocemente la minuatura di un video su Youtube</title>
		<link>http://www.modifycando.com/2011/03/recuperare-velocemente-la-minuatura-di-un-video-su-youtube/</link>
		<comments>http://www.modifycando.com/2011/03/recuperare-velocemente-la-minuatura-di-un-video-su-youtube/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 15:22:19 +0000</pubDate>
		<dc:creator>Modify</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tools e Utility]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[thumbnail]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.modifycando.com/?p=1977</guid>
		<description><![CDATA[Spesso capita di dover recuperare l&#8217;anteprima di un video caricato su youtube. Ad esempio se si deve creare una gallery [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F03%2Frecuperare-velocemente-la-minuatura-di-un-video-su-youtube%2F' data-shr_title='Recuperare+velocemente+la+minuatura+di+un+video+su+Youtube'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F03%2Frecuperare-velocemente-la-minuatura-di-un-video-su-youtube%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F03%2Frecuperare-velocemente-la-minuatura-di-un-video-su-youtube%2F' data-shr_title='Recuperare+velocemente+la+minuatura+di+un+video+su+Youtube'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F03%2Frecuperare-velocemente-la-minuatura-di-un-video-su-youtube%2F' data-shr_title='Recuperare+velocemente+la+minuatura+di+un+video+su+Youtube'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1977"></div><p><a href="http://www.modifycando.com/wp-content/uploads/youtube-thumbnail.png"><img src="http://www.modifycando.com/wp-content/uploads/youtube-thumbnail-150x88.png" alt="Recuperare la thumbnail da youtube" title="Recuperare la thumbnail da youtube" width="150" height="88" class="alignleft size-thumbnail wp-image-1978" /></a>
<p style="text-align: justify;">Spesso capita di dover recuperare l&#8217;anteprima di un video caricato su <a href="http://www.modifycando.com/tag/youtube/" class="st_tag internal_tag" rel="tag" title="Post taggati con youtube">youtube</a>.<br />
Ad esempio se si deve creare una gallery video sul proprio sito a anche solo per un singolo video.<br />
L&#8217;anteprima del video è l&#8217;immaginetta che contiene un frame del video che viene utilizata appunto per illustrare il video prima di mandarlo in play.<br />
L&#8217;anteprima o <a href="http://www.modifycando.com/tag/thumbnail/" class="st_tag internal_tag" rel="tag" title="Post taggati con thumbnail">thumbnail</a> viene generata direttamente da youtube che fornisce anche il modo per recuperarla.<br />
In realtà Youtube genera 4 thumbnail differenti.</p>
<p>Uno dei modi per ottenere  le miniature di youtube è quello di utiizzare le API fornite dallo stesso Youtube (di cui non tratteremo ora).<br />
La funzione messa a disposizione da youtube è <strong>youtube.videos.get_details</strong> che tra le altre informazioni fornisce le thumbnail del video in una struttura xml con tag del tipo < thumbnail_url >.<br />
Un&#8217;altro modo è reperire la miniatura direttamente dove vengono memorizzate da youtube e cioè all&#8217;indirizzo
</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//img.youtube.com/vi/VIDEO_ID/NIMAGE.jpg</span></pre></div></div>

<p style="text-align: justify;">
Questo è il formato dell&#8217; URL delle immaagini cercate.<br />
Al posto di <strong>VIDEO_ID</strong> è necessario inserire il codice alfanumerico del video che stiamo considerando mentre <strong>NIMAGE</strong> è il numero dell&#8217;immagine da considerare (le immagini vanno da 1 a 4).<br />
<a href="http://www.elegantthemes.com/affiliates/idevaffiliate.php?id=8077_0_1_7" target="_blank"><img border="0" src="http://www.elegantthemes.com/affiliates/banners/468x60.gif" width="468" height="60"></a><br />
<br />
Facciamo un esempio .<br />
Consideriamo il seguente video
</p>
<p><iframe title="YouTube video player" width="425" height="349" src="http://www.youtube.com/embed/iIp7OnHXBlo" frameborder="0" allowfullscreen><br />
</iframe></p>
<p>L&#8217;url del video è</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//www.youtube.com/watch?v=iIp7OnHXBlo</span></pre></div></div>

<p>l&#8217;Id del video è  :<strong>iIp7OnHXBlo</strong><br />
</p>
<p style="text-align: justify;">
Le miniature del video sono reperibili a questi indirizzi
</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//img.youtube.com/vi/iIp7OnHXBlo/1.jpg</span>
http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//img.youtube.com/vi/iIp7OnHXBlo/2.jpg</span>
http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//img.youtube.com/vi/iIp7OnHXBlo/3.jpg</span>
http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//img.youtube.com/vi/iIp7OnHXBlo/4.jpg</span></pre></div></div>

<p style="text-align: justify;">
e sono le seguenti :<br />
Prima miniatura : 1.jpg<br />
<img src="http://img.youtube.com/vi/iIp7OnHXBlo/1.jpg"/><br />
Seconda miniatura : 2.jpg<br />
<img src="http://img.youtube.com/vi/iIp7OnHXBlo/2.jpg"/><br />
Terza miniatura : 3.jpg<br />
<img src="http://img.youtube.com/vi/iIp7OnHXBlo/3.jpg"/><br />
Quarta miniatura : 4.jpg<br />
<img src="http://img.youtube.com/vi/iIp7OnHXBlo/4.jpg"/></p>
<p>La numero 2 è la miniatura di default o quella che l&#8217;autore del video definisce come tale.
</p>
<p><div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><!-- FACEBOOK "MI PIACE" -->
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%23%21%2Fpages%2FModifycandocom%2F132259753483033&layout=standard&show_faces=true&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:550px; height:80px;" allowTransparency="true"></iframe>
<br></p>
<div class="shr-publisher-1977"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.modifycando.com/2011/03/recuperare-velocemente-la-minuatura-di-un-video-su-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migliorare l&#8217;output della funzione print_r()</title>
		<link>http://www.modifycando.com/2011/01/migliorare-loutput-della-funzione-print_r/</link>
		<comments>http://www.modifycando.com/2011/01/migliorare-loutput-della-funzione-print_r/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 16:08:48 +0000</pubDate>
		<dc:creator>Modify</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[pre]]></category>
		<category><![CDATA[print_r]]></category>

		<guid isPermaLink="false">http://www.modifycando.com/?p=1657</guid>
		<description><![CDATA[Molto spesso in Php si ha la necessità di stampare il valore di una variabile. E&#8217; una tipica operazione di [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F01%2Fmigliorare-loutput-della-funzione-print_r%2F' data-shr_title='Migliorare+l%27output+della+funzione+print_r%28%29'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F01%2Fmigliorare-loutput-della-funzione-print_r%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F01%2Fmigliorare-loutput-della-funzione-print_r%2F' data-shr_title='Migliorare+l%27output+della+funzione+print_r%28%29'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2011%2F01%2Fmigliorare-loutput-della-funzione-print_r%2F' data-shr_title='Migliorare+l%27output+della+funzione+print_r%28%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1657"></div><p><a href="http://www.modifycando.com/wp-content/uploads/canvas.png"><img src="http://www.modifycando.com/wp-content/uploads/canvas-150x85.png" alt="Php" title="Php" width="150" height="85" class="alignleft size-thumbnail wp-image-1659" /></a>Molto spesso in <a href="http://www.modifycando.com/tag/php/" class="st_tag internal_tag" rel="tag" title="Post taggati con php">Php</a> si ha la necessità di stampare il valore di una variabile.<br />
E&#8217; una tipica operazione di debug e normalmente è effettuata con la funzione di stampa <strong>echo</strong>.<br />
L&#8217;ambiente Php è un ambiente molto potente ed è possibile creare dei tipi di dati anche complessi.</p>
<p>Se si deve visualizzare a schermo il contenuto di un’array o di un oggetto il metodo base è quello di un loop utilizzando un for, foreach o while per ogni componente dell&#8217;array o dell&#8217;oggetto.<br />
Esiste però una funzione molto potente che ci permette di evitare questa operazione e visualizzare tutto il contenuto dell&#8217;oggetto in un sol colpo :la funzione chiamata <strong><a href="http://www.modifycando.com/tag/print_r/" class="st_tag internal_tag" rel="tag" title="Post taggati con print_r">print_r</a>()</strong>.</p>
<p>Ad esempio se si vuole stampare il contenuto di un’oggetto <strong>$object</strong> basta scrivere</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$object</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>e l’echo risultante sarà del tipo</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">stdClass Object <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#91;</span>ID<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#91;</span>post_author<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#91;</span>post_date<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">2000</span><span style="color: #339933;">-</span><span style="color: #208080;">01</span><span style="color: #339933;">-</span><span style="color: #208080;">01</span> <span style="color: #208080;">00</span><span style="color: #339933;">:</span><span style="color: #208080;">00</span><span style="color: #339933;">:</span><span style="color: #208080;">01</span> <span style="color: #009900;">&#91;</span>post_content<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> This is the content of the message<span style="color: #339933;">.</span> <span style="color: #009900;">&#91;</span>post_title<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> Message Title <span style="color: #009900;">&#91;</span>post_excerpt<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> This is the excerpt of the message<span style="color: #339933;">.</span> <span style="color: #009900;">&#91;</span>post_status<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> publish <span style="color: #009900;">&#91;</span>post_name<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> message <span style="color: #009900;">&#91;</span>post_parent<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#91;</span>menu_order<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#91;</span>post_type<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> post <span style="color: #009900;">&#41;</span></pre></div></div>

<p>Con una sola riga di codice abbiamo ottentuto un output dettagliato contenente tutti i dati contenuti all’interno dell’object.</p>
<p>Tuttavia, soprattutto per oggetti grandi o complessi l’output risultante è abbastanza confuso e di difficile lettura.<br />
Per risolvere a questo inconveniente ci viene incontro un tag HTML, il <strong><a href="http://www.modifycando.com/tag/pre/" class="st_tag internal_tag" rel="tag" title="Post taggati con pre">pre</a></strong>.</p>
<p>Nel linguaggio HTML gli a capo contenuti nei testi vengono ignorati (per andare su una nuova linea bisogna utilizzare il tag apposito <br />), quindi la stampa risultante dalla nostra print_r() viene visualizzata tutta sulla stessa linea.</p>
<p>Racchiudendo il nostro ouptut all’interno della tag < pre> (che sta per “pre-formattato”) in questo modo</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> pre<span style="color: #339933;">&gt;</span>
<span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$object</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;</span> <span style="color: #339933;">/</span>pre<span style="color: #339933;">&gt;</span></pre></div></div>

<p>gli a capo contenuti nell’output verranno letti correttamente, ottenendo quindi un risultato di questo tipo</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">stdClass Object
<span style="color: #009900;">&#40;</span>
    <span style="color: #009900;">&#91;</span>ID<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span>
    <span style="color: #009900;">&#91;</span>post_author<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span>
    <span style="color: #009900;">&#91;</span>post_date<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">2001</span><span style="color: #339933;">-</span><span style="color: #208080;">01</span><span style="color: #339933;">-</span><span style="color: #208080;">01</span> <span style="color: #208080;">00</span><span style="color: #339933;">:</span><span style="color: #208080;">00</span><span style="color: #339933;">:</span><span style="color: #208080;">01</span>
    <span style="color: #009900;">&#91;</span>post_content<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> This is the content of the message<span style="color: #339933;">.</span>
    <span style="color: #009900;">&#91;</span>post_title<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> Message Title
    <span style="color: #009900;">&#91;</span>post_excerpt<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> This is the excerpt of the message<span style="color: #339933;">.</span>
    <span style="color: #009900;">&#91;</span>post_status<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> publish
    <span style="color: #009900;">&#91;</span>post_name<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> message
    <span style="color: #009900;">&#91;</span>post_parent<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span>
    <span style="color: #009900;">&#91;</span>menu_order<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span>
    <span style="color: #009900;">&#91;</span>post_type<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> post
<span style="color: #009900;">&#41;</span></pre></div></div>

<p>Ora l’output è decisamente più chiaro e leggibile: ogni dato è sulla sua riga ed inoltre il risultato è indentato in maniera gerarchica, ottimo!<br />
Lo stesso risultato si può ottenere anche per le funzioni similari come la funzione var_dump() o la funzione var_export().</p>
<p>Se volete potete approfondire l&#8217;argomento consultando un buon <a href="http://www.amazon.it/gp/search?ie=UTF8&#038;keywords=PHP&#038;tag=modifycandoco-21&#038;index=books&#038;linkCode=ur2&#038;camp=3370&#038;creative=23322">libro su Php</a><img src="http://www.assoc-amazon.it/e/ir?t=modifycandoco-21&#038;l=ur2&#038;o=29" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.<br />
<div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><!-- FACEBOOK "MI PIACE" -->
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%23%21%2Fpages%2FModifycandocom%2F132259753483033&layout=standard&show_faces=true&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:550px; height:80px;" allowTransparency="true"></iframe>
<br></p>
<div class="shr-publisher-1657"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.modifycando.com/2011/01/migliorare-loutput-della-funzione-print_r/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creare Thumbnails al volo con PHP</title>
		<link>http://www.modifycando.com/2010/09/creare-thumbnails-al-volo-con-php/</link>
		<comments>http://www.modifycando.com/2010/09/creare-thumbnails-al-volo-con-php/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 09:30:49 +0000</pubDate>
		<dc:creator>Modify</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[imagecreatefromjpeg]]></category>
		<category><![CDATA[Thumbnails]]></category>

		<guid isPermaLink="false">http://www.modifycando.com/?p=659</guid>
		<description><![CDATA[Creare Thumbnails al volo con PHP]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2010%2F09%2Fcreare-thumbnails-al-volo-con-php%2F' data-shr_title='Creare+Thumbnails+al+volo+con+PHP'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2010%2F09%2Fcreare-thumbnails-al-volo-con-php%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2010%2F09%2Fcreare-thumbnails-al-volo-con-php%2F' data-shr_title='Creare+Thumbnails+al+volo+con+PHP'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2010%2F09%2Fcreare-thumbnails-al-volo-con-php%2F' data-shr_title='Creare+Thumbnails+al+volo+con+PHP'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-659"></div><p style="text-align: justify;"><a href="http://www.modifycando.com/wp-content/uploads/php.jpg"><img class="alignleft size-thumbnail wp-image-657 " title="PHP" src="http://www.modifycando.com/wp-content/uploads/php-150x150.jpg" alt="PHP" width="150" height="150" /></a><br />
A volte può servire creare le <a href="http://www.modifycando.com/tag/thumbnails/" class="st_tag internal_tag" rel="tag" title="Post taggati con Thumbnails">thumbnails</a> delle foto che abbiamo  caricato sul sito, per crearle on the fly, senza doverle salvare sul  disco del server (anche se in molti casi, per non dare lavoro inutile al  processore è sicuramente meglio salvarle…).</p>
<p style="text-align: justify;"> Possiamo utilizzare il  codice che troviamo qui sotto, è sufficiente richiamarlo dal tag <strong>&lt;img&gt;</strong> utilizzando per la proprietà <strong>src</strong> una stringa tipo <strong>‘imgres.<a href="http://www.modifycando.com/tag/php/" class="st_tag internal_tag" rel="tag" title="Post taggati con php">php</a>?file=nomefileimmagine’</strong>, volendo possiamo passare come parametro anche dimensione della thumb da creare…:<br />
<span id="more-659"></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #666666; font-style: italic;">// il file di cui dobbiamo creare la thumbnail</span>
<span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//Questo restringe l'immagine in output al 25% dell'originale</span>
<span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color:#800080;">0.25</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// io di solito uso i .jpg, ma si possono utilizzare anche png e gif</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Content-type: image/jpeg'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// setto i parametri per il ridimensionamento</span>
<span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$height</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getimagesize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$modwidth</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$width</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$size</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$modheight</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$height</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$size</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Creo il canvas (la tela)</span>
<span style="color: #000088;">$tn</span><span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatetruecolor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$modwidth</span><span style="color: #339933;">,</span> <span style="color: #000088;">$modheight</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$source</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatefromjpeg</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Ridimensiono l'immagine per far sì che combaci con il canvas</span>
<span style="color: #990000;">imagecopyresized</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tn</span><span style="color: #339933;">,</span> <span style="color: #000088;">$source</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$modwidth</span><span style="color: #339933;">,</span> <span style="color: #000088;">$modheight</span><span style="color: #339933;">,</span> <span style="color: #000088;">$width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$height</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Butto in output l'immagine creata in formato jpg, volendo si può fare anche in png o gif</span>
<span style="color: #990000;">imagejpeg</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

</p>
<p><div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><!-- FACEBOOK "MI PIACE" -->
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%23%21%2Fpages%2FModifycandocom%2F132259753483033&layout=standard&show_faces=true&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:550px; height:80px;" allowTransparency="true"></iframe>
<br></p>
<div class="shr-publisher-659"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.modifycando.com/2010/09/creare-thumbnails-al-volo-con-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formattare un numero per l&#8217;output con PHP</title>
		<link>http://www.modifycando.com/2010/09/formattare-un-numero-per-loutput-con-php/</link>
		<comments>http://www.modifycando.com/2010/09/formattare-un-numero-per-loutput-con-php/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 09:54:36 +0000</pubDate>
		<dc:creator>Modify</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[floor]]></category>
		<category><![CDATA[number_format]]></category>
		<category><![CDATA[sprintf]]></category>

		<guid isPermaLink="false">http://www.modifycando.com/?p=644</guid>
		<description><![CDATA[Formattare un numero per l'output con PHP]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2010%2F09%2Fformattare-un-numero-per-loutput-con-php%2F' data-shr_title='Formattare+un+numero+per+l%27output+con+PHP'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2010%2F09%2Fformattare-un-numero-per-loutput-con-php%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2010%2F09%2Fformattare-un-numero-per-loutput-con-php%2F' data-shr_title='Formattare+un+numero+per+l%27output+con+PHP'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fwww.modifycando.com%2F2010%2F09%2Fformattare-un-numero-per-loutput-con-php%2F' data-shr_title='Formattare+un+numero+per+l%27output+con+PHP'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-644"></div><p style="text-align: justify;"><img class="alignleft size-thumbnail wp-image-657  " style="margin: 5px 10px;" title="PHP" src="http://www.modifycando.com/wp-content/uploads/php-150x150.jpg" alt="PHP" width="150" height="150" />Nell’elaborazione di tabulati si ha spesso necessità di  formattare correttamente i numeri. I problemi che spesso si pongono sono  i seguenti:</p>
<p>- troncare i decimali<br />
- usare il divisore italiano virgola per separare i decimali<br />
- usare il divisore italiano punto per dividere le migliaia<br />
- aggiungere degli zeri in testa (fillare a zero a sinistra)</p>
<p><span id="more-644"></span><br />
Per eseguire tutte queste operazioni ci vengono in aiuto due funzioni <a href="http://www.modifycando.com/tag/php/" class="st_tag internal_tag" rel="tag" title="Post taggati con php">php</a>, la <a href="http://it.php.net/manual/it/function.number-format.php">number_format </a>e la <a href="http://it.php.net/manual/it/function.sprintf.php">sprintf</a>.</p>
<p><em><strong>Troncare i decimali</strong></em><br />
Per troncare i decimali é sufficiente passare come secondo parametro  della funzione <a href="http://www.modifycando.com/tag/number_format/" class="st_tag internal_tag" rel="tag" title="Post taggati con number_format">number_format</a> il numero di decimali a cui troncare, così  questo esempio tronca al secondo decimale, restituendo 1,234.57, in  quanto effettua anche l’arrotondamento:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$valore</span> <span style="color: #339933;">=</span> <span style="color: #990000;">number_format</span><span style="color: #009900;">&#40;</span><span style="color:#800080;">1234.5678</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Nel caso si voglia troncare senza effettuare l’arrotondamento occorre  usare oportunamente la funzione <a href="http://www.modifycando.com/tag/floor/" class="st_tag internal_tag" rel="tag" title="Post taggati con floor">floor</a>(), moltiplicando (ad esempio per  100 se si vogliono due decimali) e dividendo per lo stesso valore, ad  esempio:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$valore</span> <span style="color: #339933;">=</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color:#800080;">1234.5678</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color:#800080;">.01</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>E’ chiaro che a sua volta il risultato può essere passato alla number_format().</p>
<p><div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div></p>
<p><em><strong>Usare il divisore italiano virgola per separare i decimali e il divisore punto per le migliaia</strong></em><br />
Per Usare il divisore italiano virgola per separare i decimali e il  divisore punto per le migliaia é sufficiente passare come terzo  parametro della funzione number_format il carattere separatore dei  decimali (in italiano la virgola) e come quarto parametro il separatore  delle migliaia (in italiano il punto). Così questo esempio tronca al  secondo decimale e formatta in italiano, restituendo 1.234,57:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$valore</span> <span style="color: #339933;">=</span> <span style="color: #990000;">number_format</span><span style="color: #009900;">&#40;</span><span style="color:#800080;">1234.5678</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">','</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Chiaramente se non si vuole che venga presentato il divisore delle  migliaia é sufficiente togliere il carattere tra gli apici del quarto  parametro:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$valore</span> <span style="color: #339933;">=</span> <span style="color: #990000;">number_format</span><span style="color: #009900;">&#40;</span><span style="color:#800080;">1234.5678</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">','</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><em><strong>Aggiungere zeri in testa ad un numero (fillare a zero a sinistra)</strong></em><br />
Per aggiungere degli zeri in testa ad un numero e quindi fillarlo a zero  a sinistra possiamo utilizzare la funzione <a href="http://www.modifycando.com/tag/sprintf/" class="st_tag internal_tag" rel="tag" title="Post taggati con sprintf">sprintf</a>. Se, ad esempio,  vogliamo avere numeri tutti di 6 cifre fillati con zeri in testa,  possiamo fare:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$valore</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%06d</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$numeroDaFillare</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

</p>
<p><div style="padding-top:10px;padding-bottom:10px;" align=center><script type="text/javascript">
<!--
google_ad_client = "ca-pub-9021423780493122";
/* modifycando_468x60_nei_post */
google_ad_slot = "8443757002";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><!-- FACEBOOK "MI PIACE" -->
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%23%21%2Fpages%2FModifycandocom%2F132259753483033&layout=standard&show_faces=true&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:550px; height:80px;" allowTransparency="true"></iframe>
<br></p>
<div class="shr-publisher-644"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.modifycando.com/2010/09/formattare-un-numero-per-loutput-con-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

