<?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>Programmazione Web &#187; Codeigniter</title>
	<atom:link href="http://www.programmazione-web.com/categorie/codeigniter-framework/feed" rel="self" type="application/rss+xml" />
	<link>http://www.programmazione-web.com</link>
	<description>il Blog open degli sviluppatori del web!</description>
	<lastBuildDate>Tue, 10 Nov 2009 21:04:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rilasciato Codeigniter 1.7.2</title>
		<link>http://www.programmazione-web.com/rilasciato-codeigniter-1-7-2.php</link>
		<comments>http://www.programmazione-web.com/rilasciato-codeigniter-1-7-2.php#comments</comments>
		<pubDate>Tue, 15 Sep 2009 07:13:28 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[News dal web]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=256</guid>
		<description><![CDATA[Il Team EllisLab ha rilasciato in questi giorni la nuova release di CodeIgniter giunta alla versione 1.7.2. All&#8217;interno oltre ai soliti bug fixes troviamo una novita&#8217; che semplifica molto la vita a chi realizza ecommerce from scratch, la Cart class, una comoda libreria standard che permette di gestire facilmente un carrello di prodotti. Ecco la [...]]]></description>
			<content:encoded><![CDATA[<p>Il Team <a title="Ellislab" href="http://ellislab.com/" target="_blank"><strong>EllisLab</strong></a> ha rilasciato in questi giorni la nuova release di <a title="Codeigniter" href="http://codeigniter.com/news/codeigniter_v1.7.2_released/" target="_blank"><strong>CodeIgniter</strong></a> giunta alla versione 1.7.2. All&#8217;interno oltre ai soliti bug fixes troviamo una novita&#8217; che semplifica molto la vita a chi realizza ecommerce from scratch, <strong>la Cart class</strong>, una comoda libreria standard che permette di gestire facilmente <strong>un carrello di prodotti</strong>. Ecco la lista delle novita&#8217; di questa release:</p>
<ul>
<li> Compatibile con PHP 5.3.0</li>
<li>Aggiunta la classe carrello (Cart Class).</li>
<li>Migliorato il Form helper</li>
<li>Aggiunta is_php() per la comparazione delle versioni PHP.</li>
<li>Modificata la funzione show_error() per permettere di inviare come risposta HTTP dei codici che consentono di indentificasre lo stato di ritorno.</li>
</ul>
<p>Happy coding <img src='http://www.programmazione-web.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/rilasciato-codeigniter-1-7-2.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeigniter debug con FirePHP</title>
		<link>http://www.programmazione-web.com/codeigniter-debug-con-firephp.php</link>
		<comments>http://www.programmazione-web.com/codeigniter-debug-con-firephp.php#comments</comments>
		<pubDate>Wed, 29 Jul 2009 09:57:47 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Applicazioni]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debuggi]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firephp]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=238</guid>
		<description><![CDATA[FirePHP è un componente aggiuntivo per Firefox che consente di debuggare applicazioni in PHP direttamente tramite il proprio browser. Questo add-on estende le funzionalità di FireBug consentendo di fare dei log in tempo reale e stampare i contenuti delle variabili nella console.
Per iniziare a debuggare le vostre applicazioni php avrete quindi bisogno del browser Firefox, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>FirePHP </strong>è un <strong>componente aggiuntivo per Firefox</strong> che consente di <strong>debuggare applicazioni in PHP </strong>direttamente tramite il proprio browser. Questo add-on estende le funzionalità di <strong>FireBug </strong>consentendo di fare dei log in tempo reale e stampare i contenuti delle variabili nella console.</p>
<p>Per iniziare a debuggare le vostre applicazioni php avrete quindi bisogno del <strong>browser Firefox</strong>, di installare <strong>FireBug </strong>e <strong>FirePHP</strong>.</p>
<p>A questo punto per molti nessuna novità&#8230; sono prodotti conosciuti nell&#8217;ambiente di sviluppo e quindi non scendo nel merito del loro funzionamento, poichè esistono molteplici guide.</p>
<p>La cosa interessante è che <strong>FirePHP </strong>è stato integrato in una libreria per <strong>il framework Codeigniter</strong> ed è <a title="Download FirePHP library for Codeigniter" href="http://www.firephp.org/DownloadRelease/FirePHPLibrary-FirePHPCore-0.2.1" target="_blank">scaricabile qui.</a></p>
<p>Per la configurazione nel framework è sufficiente scompattare la classe FirePHP.class.php, rinominarla in firephp.php e copiarla dentro alla nostra applicazione nella cartella delle librerie: system/application/libraries.</p>
<p>Per renderla operativa all&#8217;interno del nostro controller è suffiente</p>
<ul>
<li> Caricare la libreria: <strong>$this-&gt;load-&gt;library(&#8216;firephp&#8217;)</strong></li>
<li>Inviare i log e errori a firebug tramite questa sintassi: <strong>$this-&gt;firephp-&gt;log($myvariable) </strong>o <strong>$this-&gt;firephp-&gt;error(&#8216;Errore alla linea&#8217;)</strong></li>
</ul>
<p>Inoltre è possibile abilitare solamente il debbugger ad esempio quando sviluppiamo offline sul nostro web server in locale:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$this</span>-&gt;<span class="me1">input</span>-&gt;<span class="me1">ip_address</span><span class="br0">&#40;</span><span class="br0">&#41;</span> ==<span class="st0">&#8216;127.0.0.1&#8242;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re0">$this</span>-&gt;<span class="me1">firephp</span>-&gt;<span class="me1">setEnabled</span><span class="br0">&#40;</span><span class="kw2">TRUE</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re0">$this</span>-&gt;<span class="me1">firephp</span>-&gt;<span class="me1">setEnabled</span><span class="br0">&#40;</span><span class="kw2">FALSE</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p><strong>Riferimenti:</strong><br />
<a href="http://getfirebug.com/">http://getfirebug.com/</a><br />
<a href="http://www.firephp.org/">http://www.firephp.org/</a><br />
<a href="http://speedtech.it/2009/05/debugging-a-codeigniter-application-with-firephp/">http://speedtech.it/2009/05/debugging-a-codeigniter-application-with-firephp/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/codeigniter-debug-con-firephp.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disponibile IDE NetBeans 6.7, anche per php</title>
		<link>http://www.programmazione-web.com/rilasciato-ide-netbeans-67-per-php.php</link>
		<comments>http://www.programmazione-web.com/rilasciato-ide-netbeans-67-per-php.php#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:24:27 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Applicazioni]]></category>
		<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[News dal web]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[Sviluppo applicazioni]]></category>
		<category><![CDATA[editor php]]></category>
		<category><![CDATA[ide sviluppo]]></category>
		<category><![CDATA[linguaggio php]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=220</guid>
		<description><![CDATA[Dal 29 Giugno è stata rilasciata e resa disponibile per il download la piattaforma IDE NetBeans 6.7, offre una piattaforma di sviluppo per le seguenti tecnologie Java, PHP, Ruby, JavaScript, Groovy and C/C++, e altri.]]></description>
			<content:encoded><![CDATA[<p><strong>Disponibile IDE NetBeans 6.7, anche per php</strong></p>
<p>Dal 29 Giugno è stata rilasciata e resa disponibile per il download la piattaforma IDE NetBeans 6.7, tante sono le novità di questa release.</p>
<p>Ecco a voi alcune anticipazioni:</p>
<ul>
<li> integrazione della piattaforma Kenai</li>
<li>supporto nativo di Maven</li>
<li>supporto migliorato di GlassFish v3, che rappresenta una anteprima della prossima piattaforma JavaEE 6</li>
<li>features on demand, ovvero l’attivazione di alcuni componenti dell’IDE solo quando necessari</li>
</ul>
<p>Ricordando che NetBeans IDE 6.7, costruito dal successo della precendente release 6.5.x, offre una piattaforma di sviluppo per le seguenti tecnologie Java, <strong>PHP</strong>, Ruby, JavaScript, Groovy and C/C++, e  altri.</p>
<p><strong>NetBeans IDE 6.7</strong> è disponibile in Inglese, Portoghese Brasigliano, Giapponese e Cinese semplificato. Ci sono comunque tante comunity che rendono disponibili i pacchetti di traduzione in altre lingue.</p>
<p>Per avere maggiori informazioni su NetBeans IDE 6.7:</p>
<ul>
<li><a href="http://www.netbeans.org/features/index.html" target="_blank">NetBeans IDE 6.7 Features</a></li>
<li><a href="http://www.netbeans.org/kb/index.html" target="_blank">NetBeans IDE 6.7 Tutorials and Documentation</a></li>
<li><a href="http://www.netbeans.org/kb/docs/intro-screencasts.html" target="_blank">Videos of NetBeans IDE 6.7 in Action</a></li>
</ul>
<p>NetBeans è attualmente il mio IDE preferito per lo sviluppo in PHP! Per il download consultate il sito di netbeans.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/rilasciato-ide-netbeans-67-per-php.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeigniter rilasciata la versione 1.7.1</title>
		<link>http://www.programmazione-web.com/codeigniter-rilasciata-la-versione-171.php</link>
		<comments>http://www.programmazione-web.com/codeigniter-rilasciata-la-versione-171.php#comments</comments>
		<pubDate>Mon, 16 Feb 2009 11:08:59 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[codeigniter 1.7.1]]></category>
		<category><![CDATA[framework mvc]]></category>
		<category><![CDATA[framework php]]></category>
		<category><![CDATA[sviluppo RAD]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=185</guid>
		<description><![CDATA[E' stata rilasciata la nuova versione del framework php CodeIgniter, giunta alla release 1.7.1. Questo rilascio contiene parecchie novità, migliorie e numerosi bug fixes.]]></description>
			<content:encoded><![CDATA[<h3>CodeIgniter 1.7.1 Released</h3>
<p>E&#8217; stata rilasciata la nuova versione del <strong>framework php CodeIgniter</strong>, giunta alla release 1.7.1.  Questo rilascio contiene parecchie novità, migliorie e numerosi bug fixes. Include inoltre un importante aggiornamento di sicurezza per le applicazioni che usano la nuova libreria di validazione delle form. Per la lista completa dei cambiamenti consultate il solito <a href="http://www.codeigniter.com/user_guide/changelog.html" target="_blank">Change Log</a>.</p>
<p>Se volete aggiornare il vostro framework in produzione vi consiglio di leggervi la documentazione <a href="http://www.codeigniter.com/user_guide/installation/upgrading.html">update instructions</a>.</p>
<p><strong>Riferimenti:</strong><br />
<a title="Codeigniter " href="http://www.codeigniter.com" target="_blank">http://www.codeigniter.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/codeigniter-rilasciata-la-versione-171.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeigniter generazione Google Sitemap xml</title>
		<link>http://www.programmazione-web.com/codeigniter-google-sitemap-xml-2.php</link>
		<comments>http://www.programmazione-web.com/codeigniter-google-sitemap-xml-2.php#comments</comments>
		<pubDate>Tue, 27 Jan 2009 11:06:45 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Motori di ricerca]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[codeigniter sitemaps]]></category>
		<category><![CDATA[google sitemap generator]]></category>
		<category><![CDATA[posizionamento siti]]></category>
		<category><![CDATA[sitemap xml]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=153</guid>
		<description><![CDATA[Questo plugin per Codeigniter con scopo SEO (Search engine optimization) ci consente di creare la sitemap del nostro sito, e notificarla tramite un ping a Google ed a eventuali altri motori di ricerca.. in questo modo ci permette di abbattere i tempi di indicizzazione, senza dover aspettare che un crawler passi per caso sul nostro sito!]]></description>
			<content:encoded><![CDATA[<p>In questo articolo voglio mettere i riflettori su un plugin per il <strong>framework Codeigniter</strong> che ritengo molto interessante. Si tratta del <a title="Codeigniter google sitemap generator" href="http://codeigniter.com/wiki/Google_Sitemaps/" target="_blank">plugin <strong>&#8220;Google Sitemap&#8221;</strong></a>, basato sulla classe <a title="Google sitemap class" href="http://www.phpclasses.org/browse/package/2612.html" target="_blank">Google sitemap di <strong>Svetoslav Marinov.</strong></a></p>
<p>Questo plugin per Codeigniter con scopo <strong>SEO </strong>(Search engine optimization) ci consente di<strong> creare la sitemap</strong> del nostro sito, e notificarla tramite un <strong>ping a</strong><strong> Google</strong> ed a eventuali altri motori di ricerca.. in questo modo ci permette di abbattere i tempi di indicizzazione, senza dover aspettare che un <strong>crawler </strong>passi per caso sul nostro sito!</p>
<p>Sappiamo tutti l&#8217;importanza che ha l&#8217;indicizzazione e il posizionamento oggi, e di rendere subito noti i nostri cambiamenti al motore numero uno, quindi diventa indispensabile su ogni sito dinamico avere strumenti come questo, altrimenti ad ogni cambiamento dovremmo appoggiarsi a siti come <a title="xml sitemaps " href="http://www.xml-sitemaps.com/" target="_blank">www.xml-sitemaps.com</a> e rigenerare il nostro file sitemap.xml, figuriamoci se dovessimo farlo per decine/centinaia di inserimenti giornaglieri! <img src='http://www.programmazione-web.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Sul wiki di Codeigniter è possibile <a title="download plugin" href="http://codeigniter.com/wiki/File:google_sitemap_pi.zip/" target="_blank"><strong>scaricare il plugin</strong></a> da inserire nella cartella system/plugin del framework ecco qui un esempio di utilizzo su codegniter:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">class</span> My_controller <span class="kw2">extends</span> Controller</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">function</span> My_controller<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; parent::<span class="me2">Controller</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span>-&gt;<span class="me1">load</span>-&gt;<span class="me1">helper</span><span class="br0">&#40;</span><a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&#8216;text&#8217;</span>,<span class="st0">&#8216;url&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span>-&gt;<span class="me1">load</span>-&gt;<span class="me1">plugin</span><span class="br0">&#40;</span><span class="st0">&#8216;google_sitemap&#8217;</span><span class="br0">&#41;</span>; <span class="co1">//Load Plugin</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="kw2">function</span> index<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$sitemap</span> = <span class="kw2">new</span> google_sitemap; <span class="co1">//Create a new Sitemap Object</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$item</span> = <span class="kw2">new</span> google_sitemap_item<span class="br0">&#40;</span>base_url<span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="st0">&quot;MY_WEBSITE_URL&quot;</span>,<a href="http://www.php.net/date"><span class="kw3">date</span></a><span class="br0">&#40;</span><span class="st0">&quot;Y-m-d&quot;</span><span class="br0">&#41;</span>, <span class="st0">&#8216;weekly&#8217;</span>, <span class="st0">&#8216;0.8&#8242;</span> <span class="br0">&#41;</span>; <span class="co1">//Create a new Item</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$sitemap</span>-&gt;<span class="me1">add_item</span><span class="br0">&#40;</span><span class="re0">$item</span><span class="br0">&#41;</span>; <span class="co1">//Append the item to the sitemap object</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$sitemap</span>-&gt;<span class="me1">build</span><span class="br0">&#40;</span><span class="st0">&quot;./sitemap.xml&quot;</span><span class="br0">&#41;</span>; <span class="co1">//Build it&#8230;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="co1">//Let&#8217;s compress it to gz</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$data</span> = <a href="http://www.php.net/implode"><span class="kw3">implode</span></a><span class="br0">&#40;</span><span class="st0">&quot;&quot;</span>, <a href="http://www.php.net/file"><span class="kw3">file</span></a><span class="br0">&#40;</span><span class="st0">&quot;./sitemap.xml&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$gzdata</span> = <a href="http://www.php.net/gzencode"><span class="kw3">gzencode</span></a><span class="br0">&#40;</span><span class="re0">$data</span>, <span class="nu0">9</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$fp</span> = <a href="http://www.php.net/fopen"><span class="kw3">fopen</span></a><span class="br0">&#40;</span><span class="st0">&quot;./sitemap.xml.gz&quot;</span>, <span class="st0">&quot;w&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/fwrite"><span class="kw3">fwrite</span></a><span class="br0">&#40;</span><span class="re0">$fp</span>, <span class="re0">$gzdata</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/fclose"><span class="kw3">fclose</span></a><span class="br0">&#40;</span><span class="re0">$fp</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Let&#8217;s Ping google</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span>-&gt;_pingGoogleSitemaps<span class="br0">&#40;</span>base_url<span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="st0">&quot;/sitemap.xml.gz&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">function</span> _pingGoogleSitemaps<span class="br0">&#40;</span> <span class="re0">$url_xml</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp;<span class="re0">$status</span> = <span class="nu0">0</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="re0">$google</span> = <span class="st0">&#8216;www.google.com&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span> <span class="re0">$fp</span>=@<a href="http://www.php.net/fsockopen"><span class="kw3">fsockopen</span></a><span class="br0">&#40;</span><span class="re0">$google</span>, <span class="nu0">80</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$req</span> = &nbsp;<span class="st0">&#8216;GET /webmasters/sitemaps/ping?sitemap=&#8217;</span> .</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/urlencode"><span class="kw3">urlencode</span></a><span class="br0">&#40;</span> <span class="re0">$url_xml</span> <span class="br0">&#41;</span> . <span class="st0">&quot; HTTP/1.1<span class="es0">\r</span><span class="es0">\n</span>&quot;</span> .</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;Host: $google<span class="es0">\r</span><span class="es0">\n</span>&quot;</span> .</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;User-Agent: Mozilla/5.0 (compatible; &quot;</span> .</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">PHP_OS</span> . <span class="st0">&quot;) PHP/&quot;</span> . <span class="kw2">PHP_VERSION</span> . <span class="st0">&quot;<span class="es0">\r</span><span class="es0">\n</span>&quot;</span> .</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;Connection: Close<span class="es0">\r</span><span class="es0">\n</span><span class="es0">\r</span><span class="es0">\n</span>&quot;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/fwrite"><span class="kw3">fwrite</span></a><span class="br0">&#40;</span> <span class="re0">$fp</span>, <span class="re0">$req</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span><span class="br0">&#40;</span> !<a href="http://www.php.net/feof"><span class="kw3">feof</span></a><span class="br0">&#40;</span><span class="re0">$fp</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span> @<a href="http://www.php.net/preg_match"><span class="kw3">preg_match</span></a><span class="br0">&#40;</span><span class="st0">&#8216;~^HTTP/<span class="es0">\d</span><span class="es0">\.</span><span class="es0">\d</span> (<span class="es0">\d</span>+)~i&#8217;</span>, <a href="http://www.php.net/fgets"><span class="kw3">fgets</span></a><span class="br0">&#40;</span><span class="re0">$fp</span>, <span class="nu0">128</span><span class="br0">&#41;</span>, <span class="re0">$m</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$status</span> = <a href="http://www.php.net/intval"><span class="kw3">intval</span></a><span class="br0">&#40;</span> <span class="re0">$m</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/fclose"><span class="kw3">fclose</span></a><span class="br0">&#40;</span> <span class="re0">$fp</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">return</span><span class="br0">&#40;</span> <span class="re0">$status</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Ricordando che attraverso il metodo della classe del plugin <strong>add_item</strong>,  possiamo utilizzarlo in cicli per poter aggiungere tutte le pagine dinamiche delle nostre sezioni, e di default inserire quelle statiche.</p>
<p><strong>Riferimenti: </strong></p>
<p><a title="Google sitemap class" href="http://www.phpclasses.org/browse/package/2612.html" target="_blank">http://codeigniter.com/wiki/Google_Sitemaps/</p>
<p>http://www.phpclasses.org/browse/package/2612.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/codeigniter-google-sitemap-xml-2.php/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Codeigniter perchè supporta ancora php 4?</title>
		<link>http://www.programmazione-web.com/codeigniter-supporta-ancora-php4.php</link>
		<comments>http://www.programmazione-web.com/codeigniter-supporta-ancora-php4.php#comments</comments>
		<pubDate>Sun, 23 Nov 2008 10:06:14 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[News dal web]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[codeigniter php 4]]></category>
		<category><![CDATA[codeigniter php 5]]></category>
		<category><![CDATA[scelta framework php]]></category>
		<category><![CDATA[sondaggi nexen 2008]]></category>
		<category><![CDATA[sondaggi nexen ottobre 2008]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=129</guid>
		<description><![CDATA[il fatto che Codeigniter supporti ancora php4, non vuol dire certamente che non sia possibile scrivere applicazioni completamente basate su php5, perchè la scelta del team EllisLab è stata quella di supportarli ENTRAMBI! A ottobre 2008 il 52% dei server mondiali sia ancora php4 fonte NEXEN.]]></description>
			<content:encoded><![CDATA[<p>Ci sono molti sviluppatori che non utilizzano il <strong>framework Codeigniter</strong>, che quando si entra nella discussione, che talvolta sfocia nei soliti flame, di quale framework si preferisce snobbano completamente Codeigniter per il suo continuo supporto a php4..</p>
<p>In questo post voglio chiarire definitivamente: il fatto che Codeigniter supporti ancora php4, non vuol dire certamente che non sia possibile scrivere applicazioni completamente basate su php5, perchè la scelta del team <a title="EllisLab" href="http://ellislab.com/" target="_blank">EllisLab</a> è stata quella di <strong>supportarli ENTRAMBI!</strong></p>
<p>Come è possibile vedere all&#8217;interno del framework, infatti si può notare come Codeigniter continua il supporto a php4 ed è comuqnue un framework completamente php5.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><a href="http://www.php.net/system"><span class="kw3">system</span></a>/codeigniter/Base4.php:</div>
</li>
<li class="li1">
<div class="de1">* CI_BASE &#8211; <span class="kw1">For</span> PHP <span class="nu0">4</span></div>
</li>
<li class="li1">
<div class="de1">*</div>
</li>
<li class="li1">
<div class="de1">* This <a href="http://www.php.net/file"><span class="kw3">file</span></a> is used only when CodeIgniter is being run under PHP <span class="nu0">4</span>.</div>
</li>
<li class="li2">
<div class="de2">*</div>
</li>
<li class="li1">
<div class="de1">* In order to allow CI to work under PHP <span class="nu0">4</span> we had to make the Loader <span class="kw2">class</span></div>
</li>
<li class="li1">
<div class="de1">* the parent of the Controller Base <span class="kw2">class</span>. &nbsp;It’s the only way we can</div>
</li>
<li class="li1">
<div class="de1">* enable functions like <span class="re0">$this</span>-&gt;<span class="me1">load</span>-&gt;<span class="me1">library</span><span class="br0">&#40;</span>‘email’<span class="br0">&#41;</span> to instantiate</div>
</li>
<li class="li1">
<div class="de1">* classes that can then be used within controllers <span class="kw1">as</span> <span class="re0">$this</span>-&gt;<span class="me1">email</span>-&gt;<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">*</div>
</li>
<li class="li1">
<div class="de1">* PHP <span class="nu0">4</span> also has trouble referencing the CI super object within application</div>
</li>
<li class="li1">
<div class="de1">* constructors since objects <span class="kw1">do</span> not exist until the <span class="kw2">class</span> is fully</div>
</li>
<li class="li1">
<div class="de1">* instantiated. &nbsp;Basically PHP <span class="nu0">4</span> sucks…</div>
</li>
</ol>
</div>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><a href="http://www.php.net/system"><span class="kw3">system</span></a>/codeigniter/Base5.php:</div>
</li>
<li class="li1">
<div class="de1">* CI_BASE &#8211; <span class="kw1">For</span> PHP <span class="nu0">5</span></div>
</li>
<li class="li1">
<div class="de1">*</div>
</li>
<li class="li1">
<div class="de1">* This <a href="http://www.php.net/file"><span class="kw3">file</span></a> contains some code used only when CodeIgniter is being</div>
</li>
<li class="li2">
<div class="de2">* run under PHP <span class="nu0">5</span>. &nbsp;It allows us to manage the CI super object more</div>
</li>
<li class="li1">
<div class="de1">* gracefully than what is possible with PHP <span class="nu0">4</span>.</div>
</li>
</ol>
</div>
<p>Quindi l&#8217;unica pecca della scelta di Codeigniter è quella di non aderire completamente all&#8217;iniziativa <a title="go to php5" href="http://www.gophp5.org/" target="_blank">gophp5</a> in favore dei propri utenti, perchè non sempre tutti gli hosting providers e tutti i clienti sono disponibili attualmente a migrare tutte le infrastrutture server a php 5. E questa non deve essere per forza una battaglia del team del framework..</p>
<p>Anche perchè come è possibile vedere dalle ultime <a title="Statistiche uso php4 php5 nexen" href="http://www.nexen.net/chiffres_cles/phpversion/18824-php_statistics_for_october_2008.php" target="_blank">statistiche di ottobre dalla fonte nexen</a> si nota come ancora il 52% dei server mondiali sia ancora php4.</p>
<p><a href="http://www.programmazione-web.com/wp-content/uploads/2008/11/majeureen.png"><img class="alignnone size-medium wp-image-133" title="majeureen" src="http://www.programmazione-web.com/wp-content/uploads/2008/11/majeureen-300x225.png" alt="" width="300" height="225" /></a></p>
<p>Quindi mi sembra che il team Codeigniter in questo caso si sia assunto una responsabilità doppia rispetto ad altri team, perchè garantisce il supporto completo ai propri utenti anche a tecnologie che sono obsolete ma purtroppo ancora MOLTO utilizzate..</p>
<p>Con questo non voglio dire sicuramente che preferisco il php4 e voglio usarlo.. anzi, ma mi sembra comunque una scelta giusta e responsabile che doveva essere chiarita in questo blog che ribadisco supporta a gran voce questo ottimo framework.. <img src='http://www.programmazione-web.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/codeigniter-supporta-ancora-php4.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeigniter framework rilasciata la nuova versione 1.7</title>
		<link>http://www.programmazione-web.com/codeigniter-php-framework-rilasciato.php</link>
		<comments>http://www.programmazione-web.com/codeigniter-php-framework-rilasciato.php#comments</comments>
		<pubDate>Fri, 24 Oct 2008 19:32:29 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[News dal web]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[framework mvc]]></category>
		<category><![CDATA[framework php]]></category>
		<category><![CDATA[framework rad]]></category>
		<category><![CDATA[programmare con framework]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=91</guid>
		<description><![CDATA[La nuova versione del framework php Codeigniter 1.7 e&#8217; stata rilasciata il 23 ottobre! Questa release contiene numerose nuove funzionalita&#8217; e miglioramenti, oltre ad aver corretto molti bug. Per vedere la lista completa dei cambiamenti potete guardare il solito Change Log.

Tra le novita&#8217; piu&#8217; interessanti della 1.7, troviamo una nuova classe per la validazione delle form, che [...]]]></description>
			<content:encoded><![CDATA[<p>La nuova versione del framework php Codeigniter 1.7 e&#8217; stata rilasciata il 23 ottobre! Questa release contiene numerose nuove funzionalita&#8217; e miglioramenti, oltre ad aver corretto molti bug. Per vedere la lista completa dei cambiamenti potete guardare il solito <a href="http://www.codeigniter.com/user_guide/changelog.html" target="_blank">Change Log</a>.</p>
<ul>
<li>Tra le novita&#8217; piu&#8217; interessanti della 1.7, troviamo una nuova classe per la validazione delle form, che ho lo scopo di semplificare e potenziare ulteriormente questa funzionalita&#8217;; sostituendo completamente la vecchia classe di validazione ora deprecata.</li>
<li>Aggiornata anche la classe delle sessioni permettendo di salvare i dati personalizzati nel database, piuttosto che nel cookie di sessione (presupponendo che si utilizzi il database per memorizzare i dati di sessione).</li>
<li>Ora e&#8217; possibile creare sub directory anche nelle cartelle library di system ed applicaition.</li>
</ul>
<p>Vi ricordo che se volete fare un upgrade del framework che state utilizzando nelle vostre applicazioni consultate sempre la guida di <a href="http://www.codeigniter.com/user_guide/installation/upgrading.html" target="_blank">update</a> che vi fornisce utili consigli sul passaggio indolore da ogni versione.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/codeigniter-php-framework-rilasciato.php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CodeIgniter: organizzazione di un progetto in Subversion</title>
		<link>http://www.programmazione-web.com/codeigniter-organizzazione-progetto-in-subversion.php</link>
		<comments>http://www.programmazione-web.com/codeigniter-organizzazione-progetto-in-subversion.php#comments</comments>
		<pubDate>Sat, 13 Sep 2008 08:44:46 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[News dal web]]></category>
		<category><![CDATA[Sviluppo applicazioni]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[codeignite framework]]></category>
		<category><![CDATA[Codeigniter community voice]]></category>
		<category><![CDATA[codeigniter organizzazione progetto]]></category>
		<category><![CDATA[codeigniter project]]></category>
		<category><![CDATA[codeigniter subversion]]></category>
		<category><![CDATA[codeigniter svn]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=74</guid>
		<description><![CDATA[Organizzazione del setup di un progetto con il framework Codeigniter per facilitare la sincronizzazione e l'aggiornamento dei sorgenti del framework tramite SVN client Subversion.]]></description>
			<content:encoded><![CDATA[<p><strong>Codeigniter come organizzare un progetto del framework in Subversion</strong></p>
<p>Dall&#8217;iniziativa &#8220;Codeigniter community voice&#8221; lanciata da Derek Allard in <a title="CodeIgniter Community Voice" href="http://codeigniter.com/forums/viewannounce/81650_49/" target="_blank">questo post</a>, dove ogni settimana viene lasciato uno spazio aperto sul sito ufficiale, a qualsiasi membro del forum che abbia qualcosa di interessante da dire sul framework codeigniter.. e&#8217; venuto alla luce <a title="HOWTO: Set up a CodeIgniter project in Subversion" href="http://codeigniter.com/news/codeigniter_community_voice_howto_set_up_a_codeigniter_project_in_subversio/" target="_blank">questo utilissimo tutorial</a> dove Bruce Alderson, alias sul forum <a href="http://codeigniter.com/forums/member/65974/" target="_blank">madmaxx</a> ci spiega come organizzare al meglio un progetto con il framework Codeigniter.</p>
<p>Questo tipo di organizzazione ci permette di sviluppare e di rendere il progetto software piu&#8217; controllabile ed aggiornabile, garantendo una netta separazione tra i sorgenti dell&#8217;applicazione, i sorgenti del framework e le risorse (immagini, file htaccess e script javascript, ecc). Come potrete vedere dall&#8217;albero di directory sottostante, questo tipo di organizzazione puo&#8217; essere implementata solo su sistemi unix-like, perche&#8217; fa uso dei link simbolici.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">some-domain.com/</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; app/</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; config/</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; controllers/</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span>etc<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; public/</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; .htaccess &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -&gt; ../site-extras/.htaccess</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; favicon.ico &nbsp; &nbsp; &nbsp; &nbsp; -&gt; ../site-extras/favicon.ico</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; js/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -&gt; ../site-extras/js</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; images/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -&gt; ../site-extras/images</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; system/</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; application/ &nbsp; &nbsp;-&gt; ../../app/</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; site-extras/</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;js/</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;images/</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; .htaccess</div>
</li>
</ol>
</div>
<p>Oltre a favorire il setup del vhost, e un maggiore ordine, permette di mantenere la sincronizzazione dei sorgenti del framework con i repository ufficiali di codeigniter, tramite il client SVN (client di <a title="SVN Subversion - sistema controllo versione" href="http://it.wikipedia.org/wiki/Subversion" target="_blank">Subversion</a>), senza ovviamente intaccare le risorse e i sorgenti dell&#8217;applicazione che ne fanno uso.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/codeigniter-organizzazione-progetto-in-subversion.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Professional Codeigniter&#8221; il nuovo libro per sviluppare con PHP</title>
		<link>http://www.programmazione-web.com/libro-professional-codeigniter-framework-mvc.php</link>
		<comments>http://www.programmazione-web.com/libro-professional-codeigniter-framework-mvc.php#comments</comments>
		<pubDate>Tue, 29 Jul 2008 22:51:41 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[News dal web]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[Sviluppo applicazioni]]></category>
		<category><![CDATA[codeigniter book]]></category>
		<category><![CDATA[codeigniter libro]]></category>
		<category><![CDATA[codeigniter wrox]]></category>
		<category><![CDATA[MVC approach]]></category>
		<category><![CDATA[pattern MVC]]></category>
		<category><![CDATA[professional codeigniter]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=64</guid>
		<description><![CDATA[Libro Wrox dedicato allo sviluppo con il framework php MVC Codeigniter, framework MVC, framework PHP RAD. Professional Codeigniter book Wrox libro programmazione php per gli sviluppatori web.]]></description>
			<content:encoded><![CDATA[<p><strong>&#8220;Professional Codeigniter&#8221; il nuovo libro per sviluppare con PHP in MVC</strong></p>
<p>Dopo l&#8217;uscita dello scorso anno del libro &#8220;CodeIgniter for Rapid PHP Application Development” (pubblicato da <a title="Packt publishing" href="http://www.packtpub.com/" target="_blank">PAKT publishing</a>), nel giugno 2008 la nota casa editrice Wrox press pubblica una nuova guida di 336 pagine completamente dedicata al &#8220;nostro&#8221; framework php Codeigniter. Il libro e&#8217; stato scritto da Thomas Myer e si intitola <a href="http://www.ibs.it/book/9780470282458/myer-thomas/professional-codeigniter.html" target="_blank">Professional Codeigniter</a><strong> </strong>ed e&#8217; acquistabile e reperibile dall&#8217;italia in pochi giorni comodamente presso <a title="Internet books shop" href="http://www.ibs.it/" target="_blank">IBS</a>(Internet book shop).</p>
<p><a href="http://www.programmazione-web.com/wp-content/uploads/2008/07/codeigniter_book.jpg"><img class="alignnone size-medium wp-image-68" title="codeigniter_book" src="http://www.programmazione-web.com/wp-content/uploads/2008/07/codeigniter_book-239x300.jpg" alt="" width="239" height="300" /></a></p>
<p>Il nuovo libro in inglese &#8220;<a title="Professional Codeigniter by Wrox" href="http://www.wrox.com/WileyCDA/WroxTitle/productCd-0470282452.html" target="_blank">Professional Codeigniter</a>&#8221; conterra&#8217; tutte le informazioni e i tutorial necessari agli sviluppatori php per apprendere e implementare applicazioni Rails-like senza dover imparare nuovi linguaggi. Codeigniter infatti utilizza una metodologia di sviluppo che usa il pattern MVC (Model view controller) molto utilizzato ed apprezzato dagli programmatori professionisti. Nel libro verra&#8217; fatta una panoramica sul pattern MVC, sulle metodologie di sviluppo e verranno creati diversi esempi di applicazioni come CMS, blog e forum utilizzando Codeigniter e conterra&#8217; le informazioni necessarie a risolvere le problematiche che si incontreranno nello sviluppo di ogni giorno.</p>
<p><span class="tcorpotesto">Nel libro ci saranno i seguenti argomenti:</span></p>
<ul>
<li><span class="tcorpotesto">agile methodologies and approaches</span></li>
<li><span class="tcorpotesto">MVC approach</span></li>
<li><span class="tcorpotesto">helpers and libraries</span></li>
<li><span class="tcorpotesto">model and schema for products</span></li>
<li><span class="tcorpotesto">Ajax and Scriptaculous</span></li>
</ul>
<p>Se qualcuno di voi lo acquista e lo legge saremmo tutti felici di leggere i pareri nei commenti.. <img src='http://www.programmazione-web.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Io a breve molto probabilmente lo compro!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/libro-professional-codeigniter-framework-mvc.php/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Codeigniter Redux Authentication: libreria per l&#8217;autenticazione</title>
		<link>http://www.programmazione-web.com/codeigniter-redux-authentication-libreria-per-lautenticazione.php</link>
		<comments>http://www.programmazione-web.com/codeigniter-redux-authentication-libreria-per-lautenticazione.php#comments</comments>
		<pubDate>Sat, 05 Jul 2008 14:24:06 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Applicazioni]]></category>
		<category><![CDATA[Classi e librerie]]></category>
		<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[Sviluppo applicazioni]]></category>
		<category><![CDATA[autenticazione utenti]]></category>
		<category><![CDATA[libreria autenticazione]]></category>
		<category><![CDATA[libreria autenticazione redux]]></category>
		<category><![CDATA[libreria codeigniter]]></category>
		<category><![CDATA[redux autenticazione utenti]]></category>
		<category><![CDATA[Redux Authentication library]]></category>
		<category><![CDATA[user managment]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=60</guid>
		<description><![CDATA[Redux Authtentication library, libreria per il framework codeigniter, che implementa l'autenticazione in modo veloce e in piena sicurezza]]></description>
			<content:encoded><![CDATA[<p><strong>Codeigniter Redux Authentication: libreria per l&#8217;autenticazione</strong><br />
In questo caldissimo mese di luglio vi voglio presentare Redux Authtentication library, un pacchetto per l&#8217;autenticazione da utilizzare con il &#8220;nostro&#8221; amato framework php Codeigniter. Questa libreria ci consente di creare in modo facile e super veloce l&#8217;accesso protetto al backend dei nostri progetti e di avere una base solida su cui costruire e personalizzare la sicurezza della nostra applicazione web.</p>
<h3>Le features di questa libreria sono:</h3>
<ul>
<li>Registrazione degli utenti</li>
<li>Login e logout</li>
<li>Gestione perdita password</li>
<li>Gestione gruppi utenti</li>
<li>Sistema di Ban degli utenti</li>
<li>Focalizzata sulla sicurezza</li>
</ul>
<p>Come accennato, l&#8217;installazione di questa libreria per Codeigniter è molto semplice e viene fatta seguendo questi pochi step:</p>
<ul>
<li>Creare il database della nostra applicazione codeigniter oppure utilizzare il database esistente (se il progetto è già iniziato), ed importare il file<strong> install.sql </strong>(contenuto nel pacchetto) nel nostro database, contenente le tabelle per Redux.</li>
<li>All&#8217;interno del pacchetto della libreria Redux Authentication troveremo la cartella application in cui sono contenute altre due cartelle config/ e libraries/ in cui all&#8217;interno ci sono rispettivamente il file per la configurazione della libreria e in libraries il file contenente la classe con i metodi Redux. Chiaramente questo contenuto dovrà essere copiato nella nostra cartella application della nostra applicazione nelle rispettive cartelle.</li>
<li>Un volta fatto questo andremo nel file <strong>config/config.php</strong> e abiliteremo le variabili di sessione:
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$config</span><span class="br0">&#91;</span><span class="st0">&#8217;sess_encrypt_cookie&#8217;</span><span class="br0">&#93;</span> &nbsp;= <span class="kw2">TRUE</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$config</span><span class="br0">&#91;</span><span class="st0">&#8217;sess_use_database&#8217;</span><span class="br0">&#93;</span> &nbsp; &nbsp;= <span class="kw2">TRUE</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$config</span><span class="br0">&#91;</span><span class="st0">&#8217;sess_match_ip&#8217;</span><span class="br0">&#93;</span> &nbsp; &nbsp; &nbsp; &nbsp;= <span class="kw2">TRUE</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$config</span><span class="br0">&#91;</span><span class="st0">&#8217;sess_match_useragent&#8217;</span><span class="br0">&#93;</span> = <span class="kw2">TRUE</span>;</div>
</li>
</ol>
</div>
<p>Nel mio caso per la configurazione delle sessioni su DB Mysql ho seguito questa guida <a title="Codeigniter DB Session" href="http://codeigniter.com/wiki/DB_Session/" target="_blank">http://codeigniter.com/wiki/DB_Session/</a></li>
<li>Sistemate le sessioni possiamo configurare a dovere il file <strong>config/redux_auth.php</strong>, in cui non mi addentro perchè è abbastanza semplice e ben commentato, poi non mi pare abbia bisogno di particolari modifiche.</li>
<li>Per comodità, sarebbe opportuno configurare in <strong>config/autoload.php</strong> il caricamento automatico della libreria redux, perchè altrimenti bisogna ricordarsi di farlo ogni volta che la si utilizza nei metodi del controller. Ricordandoci che Redux carica in automatico le librerie per le email e le sessioni.
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$autoload</span><span class="br0">&#91;</span><span class="st0">&#8216;libraries&#8217;</span><span class="br0">&#93;</span> = <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;redux_auth&quot;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
</li>
</ul>
<p>Dopo questa breve configurazione sarà possibile sfruttare tutta la potenza della libreria Redux Authentication, all&#8217;interno del pacchetto nei files di esempio avremo il controller <strong>user.php</strong> che illustra molto bene come vengono implementate le funzioni di base per costruire una autenticazione completa e anche come si apprestano facilmente alla personalizzazione.</p>
<h3>Per farvi un esempio di semplice controller con il solo login:</h3>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">class</span> user <span class="kw2">extends</span> Controller</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">function</span> index <span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&#8216;This is the user Controller&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">function</span> login <span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$rules</span><span class="br0">&#91;</span><span class="st0">&#8216;email&#8217;</span><span class="br0">&#93;</span> &nbsp; &nbsp;= <span class="st0">&#8216;trim|required&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$rules</span><span class="br0">&#91;</span><span class="st0">&#8216;password&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&#8216;trim|required&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span>-&gt;<span class="me1">validation</span>-&gt;<span class="me1">set_rules</span><span class="br0">&#40;</span><span class="re0">$rules</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$this</span>-&gt;<span class="me1">validation</span>-&gt;<span class="me1">run</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$login</span> = <span class="re0">$this</span>-&gt;<span class="me1">redux_auth</span>-&gt;<span class="me1">login</span><span class="br0">&#40;</span><span class="re0">$this</span>-&gt;<span class="me1">input</span>-&gt;<span class="me1">post</span><span class="br0">&#40;</span><span class="st0">&#8216;email&#8217;</span><span class="br0">&#41;</span>, <span class="re0">$this</span>-&gt;<span class="me1">input</span>-&gt;<span class="me1">post</span><span class="br0">&#40;</span><span class="st0">&#8216;password&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$i</span> = <span class="br0">&#40;</span><span class="re0">$login</span><span class="br0">&#41;</span> ? redirect<span class="br0">&#40;</span><span class="st0">&#8221;</span><span class="br0">&#41;</span> : <span class="st0">&#8216;false&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span>-&gt;<span class="me1">load</span>-&gt;<span class="me1">view</span><span class="br0">&#40;</span><span class="st0">&#8216;login&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Chiaramente se utilizziamo il controller già fatto dovremmo creare poi tutte le viste che vengono richiamate da esso. Per chi è inesperto e vuole comunque facilitarsi la vita all&#8217;inizio gli consiglio di scaricarle dal secondo link nei riferimenti qui sotto.</p>
<h3>Un esempio di come effettuare il controllo nelle pagine protette lato backend:</h3>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">class</span> Admin <span class="kw2">extends</span> Controller <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">function</span> Admin<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; parent::<span class="me2">Controller</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">function</span> index<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$this</span>-&gt;<span class="me1">redux_auth</span>-&gt;<span class="me1">logged_in</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>&#8230;<span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="kw1">else</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>&#8230;<span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>E&#8217; tutto.. quindi buona autenticazione con Redux!</p>
<p><strong>Riferimenti</strong>:</p>
<p><a title="Redux Authentication library" href="http://code.google.com/p/reduxauth/" target="_blank">http://code.google.com/p/reduxauth/</a><br />
<a title="Redux Authentication Example “View” Files  " href="http://codeigniter.com/forums/viewthread/72525/" target="_blank">http://codeigniter.com/forums/viewthread/72525/</a><br />
<a title="Codeigniter DB Session" href="http://codeigniter.com/wiki/DB_Session/" target="_blank">http://codeigniter.com/wiki/DB_Session/</a><br />
<a title="Codeigniter Sessions" href="http://codeigniter.com/user_guide/libraries/sessions.html" target="_blank">http://codeigniter.com/user_guide/libraries/sessions.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/codeigniter-redux-authentication-libreria-per-lautenticazione.php/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
