<?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; MVC</title>
	<atom:link href="http://www.programmazione-web.com/categorie/mvc/feed" rel="self" type="application/rss+xml" />
	<link>http://www.programmazione-web.com</link>
	<description>il Blog open degli sviluppatori del web!</description>
	<lastBuildDate>Mon, 25 Jul 2011 16:39:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Security fix per il framework Codeigniter giunto alla release 2.0.2</title>
		<link>http://www.programmazione-web.com/security-fix-framework-codeigniter-release-2-0-2.php</link>
		<comments>http://www.programmazione-web.com/security-fix-framework-codeigniter-release-2-0-2.php#comments</comments>
		<pubDate>Sat, 07 May 2011 10:15:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[News dal web]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[aggiornamento]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=363</guid>
		<description><![CDATA[Rilasciato oggi un&#8217;aggiornamento di sicurezza per Codeigniter Reactor e core (v 2.0.1). Questa patch di sicurezza sistema alcune piccole vulnerabilità nel cross site scripting filter XSS. Integrando la libreria XSS come componente core del framework, c&#8217;è ora la possibilità di interagire e configurare  filtri personalizzati. Prima di aggiornare il framework cosultare la guida (upgrade instructions). [...]]]></description>
			<content:encoded><![CDATA[<p>Rilasciato oggi un&#8217;aggiornamento di sicurezza per <strong>Codeigniter Reactor e core</strong> (v 2.0.1). Questa patch di sicurezza sistema alcune piccole vulnerabilità nel <em><a title="XSS Cross scripting filter " href="http://codeigniter.com/user_guide/libraries/security.html" target="_blank">cross site scripting filter XSS</a>.<br />
</em></p>
<p>Integrando la libreria XSS come componente core del framework, c&#8217;è ora la possibilità di interagire e configurare  filtri personalizzati.<em><br />
</em></p>
<p>Prima di aggiornare il framework cosultare la guida <a href="http://codeigniter.com/user_guide/installation/upgrade_202.html">(upgrade instructions)</a>. Chi utilizza la versione core 2.0.1 può scaricarla da <a href="https://bitbucket.org/ellislab/codeigniter/">BitBucket</a>, e utilizzare le informazioni per l&#8217;upgrade all&#8217;interno del pacchetto.</p>
<p>Il team di codeigniter sta lavorando per semplificare l&#8217;upgrade di queste versioni.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fsecurity-fix-framework-codeigniter-release-2-0-2.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/security-fix-framework-codeigniter-release-2-0-2.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeigniter 2.0 rilasciato ora in due branch Core e Reactor</title>
		<link>http://www.programmazione-web.com/codeigniter-2-0-rilasciato-branch-core-reactor.php</link>
		<comments>http://www.programmazione-web.com/codeigniter-2-0-rilasciato-branch-core-reactor.php#comments</comments>
		<pubDate>Sat, 29 Jan 2011 13:06:57 +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[Open-source]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[framework mvc]]></category>
		<category><![CDATA[framework php]]></category>
		<category><![CDATA[rapid application development]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=336</guid>
		<description><![CDATA[EllisLab e CodeIgniter Reactor Engineers hanno rilasciato ieri la nuova versione del framework php Codeigniter giunta alla versione 2.0. suddivisa in due branch Core e Reactor]]></description>
			<content:encoded><![CDATA[<p><strong>EllisLab</strong> e <strong>CodeIgniter Reactor Engineers</strong> hanno finalmente rilasciato ieri la nuova versione del <strong>framework php Codeigniter</strong> giunta alla <strong>versione 2.0</strong>.</p>
<p>La nuova release è stata divisa in due branch: <strong> Codeigniter Core</strong> e <strong>Codeigniter Reactor</strong></p>
<ul>
<li><strong>Codeigniter Core</strong> è il branch più lento e &#8220;stabile&#8221; che viene adottato da tutti i grandi<strong> prodotti commerciali di EllisLab </strong>come <a title="Expression Engine CMS" href="http://expressionengine.com/" target="_blank">ExpressionEngine </a>and <a title="Mojo motor" href="http://mojomotor.com" target="_blank">MojoMotor</a> e mantiene una <strong>retro compatibilità</strong> con le precedenti versioni dei framework.</li>
<li><strong>Codeigniter Reactor</strong> invece è il branch guidato dalla comunità e supervisionato dai responsabili dello staff <strong>Reactor Engineers</strong>, quindi si evolve con più rapidità adottando tutte le nuove features e migliorie messe a disposizione da tutti gli sviluppatori che collaborano al progetto.</li>
</ul>
<p>Ovviamente tutte le modifiche apportate da <strong>EllisLab </strong>al core verranno adottate anche sul branch di <strong>Reactor</strong> e comunque <strong>EllisLab </strong>contribuisce in modo attivo e presente allo sviluppo di<strong> Codeigniter Reactor</strong>.</p>
<p><strong>REACTOR </strong>QUINDI RIMANE LA <strong>VERSIONE CONSIGLIATA</strong> PER I NUOVI SVILUPPI, ricordando che <strong>Reactor = CodeIgniter</strong>.</p>
<p>Ecco alcune delle tante migliorie apportate alla nuova versione dalla precedente 1.7.3:</p>
<ul>
<li>Il support a <strong>PHP 4 è morto</strong>, <strong>PHP 5.1 è il requisito minimo</strong>.</li>
<li>Protezione CSRF integrata all&#8217;interno dei form helper.</li>
<li>Driver.</li>
<li>Application Packages.</li>
<li>Scaffolding rimosso,  era deprecato da diversione versioni.</li>
<li>Rimossa vecchia e deprecata Validation Class.</li>
<li>Plugins sono stati rimossi in favore degli Helpers.</li>
<li>Aggiunta la riscrittura del routing  &#8220;routing overrides&#8221;.</li>
<li>Aggiunta$route[‘404_override’] per consentire la gestione delle pagine 404 direttamente dai controllers.</li>
<li>Corretti più di 50 bugs.</li>
</ul>
<p><strong>Reactor </strong>apporta questi cambiamenti:</p>
<ul>
<li>Supporto totale alle query-string</li>
<li>Identificazione automatica del base_url se non viene compilato da configurazione</li>
<li>Nuovo driver per Cache con file system, supporto APC e memcache.</li>
<li>Compatibilità all&#8217;esecuzione di cron jobs da riga di comando.</li>
<li>Più di 20 migliorie e tweaks.</li>
</ul>
<p>E&#8217; possibile comunque visionare tutte le modifiche nel <a title="changelog" href="http://codeigniter.com/user_guide/changelog.html" target="_blank">changelog qui</a></p>
<p>Per chi deve aggiornare l&#8217;applicazione dalla precedente versione dare un&#8217;<a title="Aggiornamento da 1.7.2 a 2.0.0" href="http://codeigniter.com/user_guide/installation/upgrade_200.html" target="_blank">occhiata qui</a></p>
<p>Fonte: <a title="Codeigniter 2.0.0. Released" href="http://codeigniter.com/news/codeigniter_2.0.0_released/" target="_blank">www.codeigniter.com</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fcodeigniter-2-0-rilasciato-branch-core-reactor.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/codeigniter-2-0-rilasciato-branch-core-reactor.php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>In attesa di Codeigniter 2.0, viene rilasciato Codeigniter 1.7.3!</title>
		<link>http://www.programmazione-web.com/codeigniter-1-7-3-rilasciata-la-nuova-versione-del-framework-php.php</link>
		<comments>http://www.programmazione-web.com/codeigniter-1-7-3-rilasciata-la-nuova-versione-del-framework-php.php#comments</comments>
		<pubDate>Wed, 08 Dec 2010 12:52:26 +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[Open-source]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[framework php]]></category>
		<category><![CDATA[mvc framework]]></category>
		<category><![CDATA[mvc in php]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=332</guid>
		<description><![CDATA[E' stata rilasciata da pochi giorni la nuova versione del framework php MVC di Codeigniter, giunta alla release 1.7.3. Aspettando con ansia la nuova versione 2.0 che è stata annunciata come imminente è stato dato definitivamente il Goodbye PHP 4!]]></description>
			<content:encoded><![CDATA[<p>E&#8217; stata rilasciata da pochi giorni la nuova versione del<strong> framework php MVC di Codeigniter</strong>, giunta alla<a title="Codeigniter 1.7.3 released" href="http://codeigniter.com/news/codeigniter_1.7.3_released/" target="_blank"><strong> release 1.7.3</strong></a>.<br />
Aspettando con ansia la nuova <strong>versione 2.0</strong> che è stata annunciata come imminente, questa release non è altro che una serie di security fixes generali e una patch sull&#8217;upload Class. Consigliamo a tutti di aggiornarla sui vostri prodotti, che attualmente hanno la versione del framework 1.X.</p>
<p>Per quanto riguarda invece la versione 2.0, è stato dato definitivamente il <strong>Goodbye PHP 4! </strong>Il <strong>framework 2.0</strong> richiede ora la versione minima di PHP 5.1.6 ed è stato fatto un attimo di ordine convenzionale sulle nomenclature e sulla pulizia del codice grazie alla <strong>versione 5 di PHP</strong>.</p>
<ul>
<li>Tutte le classi del core iniziano con &#8220;CI_&#8221;. Stati attenti quindi quando ereditate dalle classi native.</li>
<li>Tutte le classi del core useranno il costruttore __construct come convenzione. Quindi ricordatevi quando migrate di aggiornare tutte le chiamate ai costruttori padre!</li>
<li>CI_Base è stato rimosso, ora il il super object si chiama CI_Controller.</li>
<li>Sono stati rimossi tutti i file helper su cui venivano implementate funzionalità di cui PHP 5.1.6 le supporta nativamente.</li>
</ul>
<p>Ne approfitto per scusarmi della mia prolungata assenza su questo blog, ma da quando è stata aperta <a title="Syncronika SRL sviluppo applicazioni web, sviluppo software" href="http://www.syncronika.it" target="_blank">Syncronika Srl</a> il tempo libero si è ristretto <img src='http://www.programmazione-web.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fcodeigniter-1-7-3-rilasciata-la-nuova-versione-del-framework-php.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/codeigniter-1-7-3-rilasciata-la-nuova-versione-del-framework-php.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Commentare il codice sorgente, è inutile?</title>
		<link>http://www.programmazione-web.com/commentare-il-codice-e-inutile.php</link>
		<comments>http://www.programmazione-web.com/commentare-il-codice-e-inutile.php#comments</comments>
		<pubDate>Thu, 24 Sep 2009 11:37:09 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Applicazioni]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[News dal web]]></category>
		<category><![CDATA[Sviluppo applicazioni]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[codice sorgente]]></category>
		<category><![CDATA[commenti codice]]></category>
		<category><![CDATA[sviluppo software]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=260</guid>
		<description><![CDATA[Nella stesura del codice sorgente delle applicazioni è utile o inutile abbondare di commenti? Diversi sono i punti vista, ma sicuramente l'aspetto archietetturale del software e la semantica del codice scritto possono aiutare a comprendere la logica del codice.]]></description>
			<content:encoded><![CDATA[<p>Sul sito phpnews.it ho letto questo <a href="http://www.phpnews.it/blog/2009/05/02/quanto-e-utile-commentare-il-codice/comment-page-1/#comment-2318" target="_blank">post</a> che cita altri siti/blog internazionali sull&#8217;argomento dell&#8217;utilità o meno di commentare il <strong>codice sorgente delle applicazioni</strong>. Il mio punto di vista in merito è che la cosa fondamentale quanto di <strong>scrive del codice</strong> è rendere semantica ogni istruzione, che tradotto significa dare nomi più sensati alle alle classi/metodi/proprietà e variabili che si utilizzano. Questa pratica permette di dare più senso ad ogni riga di codice e rende già tutto molto più chiaro a chi lo deve interpretare.</p>
<p>I commenti comunque possono essere utili e in certi rari casi sono fondamentali, soprattutto in <strong>procedure complesse e ricche di casistiche</strong>.. ma se si abusa si hanno sostanzialmente due svantaggi: 1) si perde tempo 2) non serve a niente o quasi a nulla.</p>
<p>Inutile quindi fare commenti su parti di codice poco complessi che sono già autoesplicativi, porzioni di codice che <strong>qualsiasi programmatore junior è in grado di leggere</strong>. Piuttosto fare molta attenzione  alla strutturazione del codice, che come già da tempo ci insegnano i grandi sviluppatori e web architects moderni, per il web tende sempre all&#8217;<strong>architettura in stile MVC</strong>, che è quella che si avvicina di più alla <strong>logica di internet</strong>…  questo semplica notevolmente la stesura, la manutenzione e la comprensione del codice scritto, oltre a rendere i moduli che compongono l&#8217;applicazione indipendenti e incapsulati.</p>
<p>Per le applicazioni software tradizionali invece apprezzo molto l&#8217;approcio code behind, business logic e data access layer</p>
<p>Quindi non abusare mai di commenti, usare nomi sensati e fate attenzione piuttosto all&#8217;<strong>architettura del software</strong>.. chiaramente <strong>object oriented</strong>!</p>
<p>In attesa di un vostro parere in merito&#8230; <img src='http://www.programmazione-web.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fcommentare-il-codice-e-inutile.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/commentare-il-codice-e-inutile.php/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<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>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Frilasciato-codeigniter-1-7-2.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></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>Microsoft scommette su MVC per ASP.net</title>
		<link>http://www.programmazione-web.com/microsoft-scommette-su-mvc-per-asp-net.php</link>
		<comments>http://www.programmazione-web.com/microsoft-scommette-su-mvc-per-asp-net.php#comments</comments>
		<pubDate>Sun, 16 Aug 2009 12:30:34 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[ASP.net]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=244</guid>
		<description><![CDATA[Microsoft  scommette sul pattern architetturale MVC per ASP.net Non ci sono più dubbi.. dopo quasi un anno di sviluppo che ha visto nascere la prima versione di framework in grado di aggiungere il supporto a MVC (Model-View-Controller) all&#8217;interno delle applicazioni web basate sul .NET Framework (ASP.net MVC 1.0).. Microsoft continua a scommettere su questo pattern [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Microsoft  scommette sul pattern architetturale MVC per ASP.net</strong></p>
<p>Non ci sono più dubbi.. dopo quasi un anno di sviluppo che ha visto nascere la prima versione di <strong>framework </strong>in grado di aggiungere il <strong>supporto a MVC (Model-View-Controller) </strong>all&#8217;interno delle applicazioni web basate sul <strong>.NET Framework</strong> (<strong>ASP.net MVC 1.0</strong>).. Microsoft continua a scommettere su questo <strong>pattern architetturale</strong> ormai tanto apprezzato dai programmatori del futuro, coronandolo a tutti gli effetti come lo standard per lo<strong> sviluppo dell&#8217;architettura di una web application</strong>.</p>
<p>Il 31 luglio 2009 è uscita la prima preview della nuova versione del supporto <strong>ASP.NET MVC 2.0</strong>, che oltre a rendere stabile il codice preesistente contiene molte nuove funzionalità soprattutto concentrare sulla semplificazione dello sviluppo e la potenza delle view e la sua interazione con il model.</p>
<p>Il <strong>supporto MVC</strong> sarà incluso in modo nativo <strong>ASP.NET 4.0 e in VS2010</strong>, e pare che sarà garantito comunque anche il supporto al framework<strong> ASP.NET 3.5 e VS2008</strong>.</p>
<p><strong><br />
RIFERIMENTI:<br />
</strong><a title="ASP.net MVC 2 preview" href="http://weblogs.asp.net/scottgu/archive/2009/07/31/asp-net-mvc-v2-preview-1-released.aspx" target="_blank">http://weblogs.asp.net/scottgu/archive/2009/07/31/asp-net-mvc-v2-preview-1-released.aspx</a><br />
<a title="Download Microsoft ASP.net MVC 2 " href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=d34f9eaa-fcbe-4e20-b2fd-a9a03de7d6dd" target="_blank">http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=d34f9eaa-fcbe-4e20-b2fd-a9a03de7d6dd</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fmicrosoft-scommette-su-mvc-per-asp-net.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/microsoft-scommette-su-mvc-per-asp-net.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Template engine, smarty, ma sono utili su framework MVC?</title>
		<link>http://www.programmazione-web.com/template-engine-smarty-sono-utili-framework-mvc.php</link>
		<comments>http://www.programmazione-web.com/template-engine-smarty-sono-utili-framework-mvc.php#comments</comments>
		<pubDate>Sun, 01 Mar 2009 13:00:24 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Design pattern]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[framework mvc]]></category>
		<category><![CDATA[pattern MVC]]></category>
		<category><![CDATA[programmazione object oriented]]></category>
		<category><![CDATA[smarty tpl]]></category>
		<category><![CDATA[template language]]></category>
		<category><![CDATA[web templates]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=189</guid>
		<description><![CDATA[Sono utili i motori di template come smarty usando i framework MVC? In ambiente PHP così come in altri ambienti, sono delle classi che consentono ai grafici di interagire con il codice sviluppato dai programmatori senza per questo dover acquisire competenze specifiche sul linguaggio di programmazione utilizzato.]]></description>
			<content:encoded><![CDATA[<p>Lo<strong> sviluppo web</strong> in questi ultimi anni ha introdotto notevoli migliorie sotto l&#8217;aspetto di progettazione e programmazione.. si e&#8217; passati da uno s<strong>viluppo funzionale</strong> ad una programmazione completamente <strong>object oriented</strong>, si utilizzano ora sempre piu&#8217; <strong>pattern di sviluppo basati sul concetto MVC</strong>, appoggiandosi a diversi <strong>framework php</strong> (codeigniter, cakephp, symphony, zend ecc ecc..), ottenendo codice piu&#8217; organizzato e ben strutturato, quindi maggiore controllo e velocita&#8217; di sviluppo, separazione logica ed estensibilita&#8217;, uno standard di sviluppo.. insomma molti vantaggi rispetto a quando si creavano files confusi di codice html innestati a query php, cicli e migliaia di controlli sparsi in tutte le pagine con includes di centinaia di funzioni di libreria poco organizzate.. che una volta fatti e poi lasciati nel dimenticatoio, quando bisognava modificarli poi diventava necessario fare un brainstorming per capire la logica con cui erano stati concepiti.. figuriamoci se il codice era sviluppato da qualcun altro che non usava i nostri schemi.</p>
<p>Ora come sappiamo, grazie al <strong>pattern MVC e ai framework opensource php</strong> si ha modo di organizzare il codice al meglio, separando completamente la logica applicativa dalla parte di modello di accesso ai dati del database e dalla parte di presentazione dei dati sulle viste.</p>
<p>Fino qua tutto bene e vedo solo dei vantaggi che non voglio ripetere, ma parliamo ora del ruolo dei <strong>template language.. smarty tpl </strong>per citarne uno<strong>.. </strong> che sono ormai spesso presenti <strong>nei CMS di ultima generazione</strong> e vengono spesso propinati per rendere la vita piu&#8217; facile a chi progetta interfaccie web&#8230; Sinceramente fatico a capire che grossi vantaggi possono offrire questi <strong>pseudo linguaggi</strong>, che sono nati appunto per rendere la vita piu&#8217; semplice a chi deve mettere le mani sulle viste, tentando di ridurre il gap tra gli sviluppatori, i web designer e i grafici.. questo nell&#8217;ottica di team di sviluppo medio grandi dove sono solitamente sono i web designer a mettere le mani sulla parte frontend dei layout.</p>
<p>Questi <strong>motori di template</strong>, in ambiente PHP così come in altri ambienti, sono delle classi che consentono ai grafici di interagire con il codice sviluppato dai programmatori senza per questo dover acquisire competenze specifiche sul linguaggio di programmazione utilizzato&#8230; questo e&#8217; vero se si dimentica che il grafico invece di capire come estrapolare il codice da un array in php tramite un foreach, dovra&#8217; imparare ad usare un linguaggio diverso con costrutti simili (foreach, loop) e non molto piu&#8217; semplici, per poi fare la stessa cosa con un array di dati in smarty.</p>
<p>Quindi nell&#8217;ottica di utilizzo di un <strong>framework MVC</strong> che ha gia&#8217; dentro il concetto di vista e gia&#8217; separa adeguatamente la parte di presentazione dalle query al database e dalla logica applicativa, risulta inutile secondo me appoggiarsi a queste classi, che appesantiscono a livello prestazionale il codice per introdurre un nuovo linguaggio, che ha le medesime difficolta&#8217; dal punto programmativo quando si maneggiano strutture dati semplici come array (ovvero quello che ci dovremmo trovare nelle viste).</p>
<p>Quindi quali sono i <strong>vantaggi nello scrivere codice delle viste in tpl? </strong>Cambia la sintassi, non sono piu&#8217; semplici e bisogna imparare un nuovo linguaggio, si introducono nuove classi quindi piu&#8217; righe di codice da eseguire <strong>rallentando le prestazioni del software</strong> e come ripeto se si lavora su framework MVC si ha gia&#8217; una separazione logica delle viste, percui non ha senso neanche per la sepazione della business logic&#8230;</p>
<p>Li buttiamo a mare questi tpl?</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Ftemplate-engine-smarty-sono-utili-framework-mvc.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/template-engine-smarty-sono-utili-framework-mvc.php/feed</wfw:commentRss>
		<slash:comments>9</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>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fcodeigniter-rilasciata-la-versione-171.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></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 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, [...]]]></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>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fcodeigniter-php-framework-rilasciato.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></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: SEO URL rewrite con il framework php</title>
		<link>http://www.programmazione-web.com/seo-url-rewrite-framework-codeigniter.php</link>
		<comments>http://www.programmazione-web.com/seo-url-rewrite-framework-codeigniter.php#comments</comments>
		<pubDate>Mon, 31 Mar 2008 21:34:01 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Sviluppo applicazioni]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[codeigniter riscrittura url]]></category>
		<category><![CDATA[framework codeigniter.]]></category>
		<category><![CDATA[rewrite url codeigniter]]></category>
		<category><![CDATA[routing codeigniter]]></category>
		<category><![CDATA[seo codeigniter]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/seo-url-rewrite-framework-codeigniter.php</guid>
		<description><![CDATA[Questo tip per il framework codeigniter mostra come é possibile effettuare la riscrittura delle URL a scopi SEO (indicizzazione e ottimizzazione motori di ricerca) in modo molto semplice utilizzando il framework php Codeigniter.]]></description>
			<content:encoded><![CDATA[<p><strong>SEO URL rewrite con il framework php Codeigniter</strong></p>
<p>Questo tip mostra come é possibile effettuare la riscrittura delle URL a scopi SEO (indicizzazione e ottimizzazione motori di ricerca) in modo molto semplice utilizzando il framework php Codeigniter.</p>
<p>Per riscrittura delle url si intende fare un rewrite delle url inserendo parole chiavi relative alle argomentazioni della pagina e mapparle direttamente sul controller che la gestisce. Questo perché tipicamente c&#8217;é una corrispondenza  uno a uno tra le url e il corrispondente controller (classe/metodo).</p>
<p>Per effettuare le prime riscritture ipotizziamo di avere tre pagine: la &#8220;Home&#8221;, la pagina &#8220;Chi siamo&#8221; e  &#8220;Cosa facciamo&#8221; che hanno un corrispondenza con la classe controller Home, Chisiamo e la classe Cosafacciamo. All&#8217;interno della cartella <strong>/system/application/config</strong> apriamo in prima istanza il file routes.php</p>
<p>In questo file troviamo due routes riservate:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$route</span><span class="br0">&#91;</span><span class="st0">&#8216;default_controller&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;home&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$route</span><span class="br0">&#91;</span><span class="st0">&#8216;scaffolding_trigger&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;&quot;</span>;</div>
</li>
</ol>
</div>
<p>in quella di default_controller mettiamo il nome del controller della pagina che si deve aprire per prima quando si accede alla index del sito.</p>
<p>Poi possiamo definire infinite nuove route che ci mappano i nomi dei controller delle pagine a nuovi nomi che saranno le nuove url ottimizzate:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$route</span><span class="br0">&#91;</span><span class="st0">&#8216;azienda-vinicola&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;chisiamo&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$route</span><span class="br0">&#91;</span><span class="st0">&#8216;azienda-produzione-vino&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;cosafacciamo&quot;</span>;</div>
</li>
</ol>
</div>
<p>E&#8217; possibile inoltre postporre ai nomi degli url dei suffissi come .html o .php modificando sempre in <strong>/system/application/config</strong> nel file config.php.</p>
<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">&#8216;url_suffix&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;.html&quot;</span>;</div>
</li>
</ol>
</div>
<p>In questo modo potremmo accedere alle varie pagine utilizzando url di questo tipo:</p>
<p>www.tuosito.com/index.php/azienda-vinicola.html<br />
www.tuosito.com/index.php/azienda-produzione-vino.html</p>
<p>Chiaramente se sul nostro server apache abbiamo il supporto mod_rewrite attivo, sarebbe consigliabile anche eliminare dalla url il riferimento inutile al file index.php, utilizzando un file .htaccess come questo esempio:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">RewriteEngine on</div>
</li>
<li class="li1">
<div class="de1">RewriteCond $<span class="nu0">1</span> !^<span class="br0">&#40;</span>index\.php|images|robots\.txt<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">RewriteRule ^<span class="br0">&#40;</span>.*<span class="br0">&#41;</span>$ /index.php/$<span class="nu0">1</span> <span class="br0">&#91;</span>L<span class="br0">&#93;</span></div>
</li>
</ol>
</div>
<p>In questo modo avremmo completato in modo semplice e veloce la riscrittura delle url nel nostro sito web realizzato con il framework Codeigniter e potremmo quindi accedere alle pagine in questo modo:</p>
<p>www.tuosito.com/azienda-vinicola.html<br />
www.tuosito.com/azienda-produzione-vino.html</p>
<p>Da ricordare inoltre che la funzionalitá di routing offerta da Codeigniter, permette di utilizzare anche espressioni regolari che permettono di aumentare la flessibilitá e la potenza di questo metodo. Ecco un esempio:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$route</span><span class="br0">&#91;</span><span class="st0">&#8216;products/([a-z]+)/(<span class="es0">\d</span>+)&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;$1/id_$2&quot;</span>;</div>
</li>
</ol>
</div>
<p>Ogni commento, spunto, consiglio é sempre ben accetto! <img src='http://www.programmazione-web.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Riferimenti:</strong><br />
<a title="Codeigniter routing" href="http://codeigniter.com/user_guide/general/routing.html" target="_blank"> http://codeigniter.com/user_guide/general/routing.html</a><br />
<a title="Codeigniter Urls" href="http://codeigniter.com/user_guide/general/urls.html" target="_blank"> http://codeigniter.com/user_guide/general/urls.html</a></p>
<p><strong>Ringraziamenti:</strong><br />
Al mio amico omonimo che mi ha dato lo spunto per scrivere questo articolo.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fseo-url-rewrite-framework-codeigniter.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/seo-url-rewrite-framework-codeigniter.php/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

