<?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; Framework</title>
	<atom:link href="http://www.programmazione-web.com/categorie/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>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>Un PHP IDE per Visual Studio VS.Php con supporto a Codeigniter</title>
		<link>http://www.programmazione-web.com/php-ide-visual-studio-codeigniter.php</link>
		<comments>http://www.programmazione-web.com/php-ide-visual-studio-codeigniter.php#comments</comments>
		<pubDate>Sun, 30 Jan 2011 14:13:43 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programmare Php]]></category>
		<category><![CDATA[ide php]]></category>
		<category><![CDATA[php visual studio]]></category>
		<category><![CDATA[visual studio plugin]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=347</guid>
		<description><![CDATA[VS.Php è un PHP IDE (Integrated Development Environment) basato su Visual Studio. Con VS.Php è possibile progettare, sviluppare, debuggare PHP e Javascript (in locale o remoto) e fare il deploy delle applicazioni PHP, lavorando all'interno di Visual Studio, quindi sfruttando tutte le potenzialità di esso.]]></description>
			<content:encoded><![CDATA[<p>Sono nato <strong>sviluppando applicazioni php</strong>, poi nel tempo per esigenze lavorative ho avuto modo di sviluppare applicazioni anche con tecnologie e IDE proprietari come <strong>Microsoft Visual Studio</strong> e il <strong>framework .NET</strong>. E quando ho provato l&#8217;ambiente <strong>Microsoft</strong> devo dire che sono rimasto impressionato dalla facilità con cui si scrive il codice per come si indenta e si autocompleta, senza pensare agli<strong> strumenti di debug </strong>che si interfacciano al web server integrato nell&#8217;IDE. Il tutto corredato da ottimi strumenti di manutenzione del codice di refactoring ecc. Detto questo analizzando il mercato <strong>opensource</strong> ultimamente credo che uno dei migliori IDE sia <a title="netbeans" href="http://netbeans.org/" target="_blank"><strong>Netbeans</strong></a> per PHP, o <a title="Codlobster php ide" href="http://www.codelobster.com/" target="_blank"><strong>Codlobster </strong></a>(attualmente non ha strumenti di versioning come SVN integrati) ma integra già plugins per <strong>jQuery </strong>e <strong>Codeigniter </strong>e altri <strong>framework</strong>.</p>
<p>Per questi motivi da quando ho provato ambienti come <strong>Visual Studio</strong> sono stato alla ricerca di qualcosa che desse allo <strong>sviluppo PHP</strong> tutte le funzionalità necessarie integrate in un unico ambiente.. e proprio in questi giorni ho trovato tutto in questo plugin per <strong>Visual Studio</strong> il <a title="VS.PHP IDE PHP per Visual Studio" href="http://www.jcxsoftware.com/vs.php" target="_blank"><strong>VS.PHP</strong></a> di <strong>Jcx.Software Corp.</strong></p>
<p><strong>VS.Php</strong> è un <strong>PHP IDE</strong> (Integrated Development Environment) basato su <strong>Visual  Studio</strong>. Con <strong>VS.Php</strong> è possibile progettare, sviluppare, debuggare PHP e Javascript in un&#8217;unica sessione e fare il deploy delle applicazioni, lavorando all&#8217;interno di <strong>Visual Studio</strong>, quindi sfruttando tutte le potenzialità di esso.</p>
<p>Nell&#8217;ultima <strong>versione 2.9</strong> è stato aggiunto il supporto a <a title="Codeigniter " href="http://codeigniter.com" target="_blank"><strong>Codeigniter </strong></a>come si vede da questo screenshot.</p>
<p><a href="http://www.programmazione-web.com/wp-content/uploads/2011/01/vs.php_codeigniter.jpg"><img class="aligncenter size-medium wp-image-351" title="vs.php codeigniter project" src="http://www.programmazione-web.com/wp-content/uploads/2011/01/vs.php_codeigniter-300x181.jpg" alt="" width="300" height="181" /></a></p>
<p><strong>E&#8217; SEMPLICEMENTE FANTASTICO!</strong></p>
<p>Per visualizzare la lista di tutte le funzionalità <a title="VS PHP Features" href="http://www.jcxsoftware.com/jcx/vsphp/features" target="_blank">leggere qui</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fphp-ide-visual-studio-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/php-ide-visual-studio-codeigniter.php/feed</wfw:commentRss>
		<slash:comments>2</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>Passare oggetti javascript a ASP.net web services</title>
		<link>http://www.programmazione-web.com/passare-oggetti-javascript-asp-net-web-services.php</link>
		<comments>http://www.programmazione-web.com/passare-oggetti-javascript-asp-net-web-services.php#comments</comments>
		<pubDate>Sun, 08 Nov 2009 15:37:14 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ASP.net]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=315</guid>
		<description><![CDATA[Passare strutture dati e oggetti aweb services Microsoft ASP.net implementando funzionalità asincrone AJAX. Esporre web services lato client utilizzando lo script manager diventa molto semplice]]></description>
			<content:encoded><![CDATA[<p>Per chi sviluppa  <strong>applicazioni AJAX</strong> avanzate usando il <strong>framework Microsoft ASP.NET</strong> sa che è possibile <strong>esporre facilmente web services lato client</strong> utilizzando lo <strong>ScriptManager</strong>, ovvero è possibile richiamarli comodamente tramite javascript utilizzando chiamate a metodi omonimi. Questa funzionalità è senza dubbio parecchio comoda, soprattutto per chi sa che questi automatismi non sono così immediati programmando ad esempio in <strong>php</strong>, dove per fare richieste javascript a pagine web bisogna utilizzare costrutti e quindi crearsi tutto il codice di interfacciamento a metodi/pagine server side.</p>
<p>Come possiamo vedere da questo tutorial: <a href="http://www.asp.net/ajax/documentation/live/Tutorials/ExposingWebServicesToAJAXTutorial.aspx" target="_blank">Exposing Web Services to Client Script in ASP.net AJAX</a> è semplice creare una classe che estende <strong>System.web.services.Webservice</strong>, contenente metodi che effettuano logiche server side e possono restituire dati lato client, e implementare funzionalità asincrone (AJAX) in modo molto naturale.</p>
<p>Al di là di questo aspetto (se non lo conoscete potete approfondirlo dall&#8217;articolo sopra linkato) che sostanzialmente riduce le tempistiche di sviluppo di callback asincrone, volevo affrontare qui in questo articoletto la possibilità di <strong>passare e restituire oggetti strutturati tramite web services</strong> per poi ritrovaseli nello stesso modo sia lato client sia lato server.</p>
<p>E&#8217; infatti possibile definire una funzione callback javascript lato client che richiama un metodo web service e passargli l&#8217;oggetto objParams per poi elaborarlo lato server. Qui sotto un semplice esempio scritto sul momento:</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="kw2">function</span> callback_sum<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"><span class="kw2">var</span> objParams = <span class="kw2">new</span> Object<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">objParams .<span class="me1">x</span> = <span class="nu0">2</span>;</div>
</li>
<li class="li1">
<div class="de1">objParams .<span class="me1">y</span> = <span class="nu0">3</span>;</div>
</li>
<li class="li1">
<div class="de1">objParams.<span class="me1">z</span> = <span class="nu0">0</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">SimpleWebService.<span class="me1">doSum</span><span class="br0">&#40;</span>objParams, callback_sum_success, callback_sum_fail<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">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> callback_sum_success<span class="br0">&#40;</span>res<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">alert</span><span class="br0">&#40;</span>res.<span class="me1">z</span><span class="br0">&#41;</span>; <span class="co1">//5</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>
<li class="li1">
<div class="de1"><span class="co1">//gestire eventuali exception</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> callback_sum_fail<span class="br0">&#40;</span>ex<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//ex._message;</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>Lato server dobbiamo definire lo stesso oggetto (chiamato Sum) con le stesse proprietà dell&#8217;oggetto client side. N.B. Nell&#8217;esempio uso VB.net ma vale lo stesso in c#.net</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">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">Public</span> Class SimpleWebService</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; Inherits System.<span class="me1">Web</span>.<span class="me1">Services</span>.<span class="me1">WebService</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;webmethod <span class="br0">&#40;</span><span class="kw1">True</span><span class="br0">&#41;</span>&gt; _</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">Public</span> <span class="kw1">Function</span> doSum<span class="br0">&#40;</span>ByVal sumObj <span class="kw1">As</span> <span class="kw1">Sum</span><span class="br0">&#41;</span> <span class="kw1">As</span> <span class="kw1">Sum</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sumObj.<span class="me1">z</span> = sumObj.<span class="me1">x</span> + sumObj.<span class="me1">y</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> sumObj</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">End</span> <span class="kw1">Function</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="kw1">Public</span> Class <span class="kw1">Sum</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Public</span> x <span class="kw1">As</span> <span class="kw1">Integer</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Public</span> y <span class="kw1">As</span> <span class="kw1">Integer</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Public</span> z <span class="kw1">As</span> <span class="kw1">Integer</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">End</span> Class</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">End</span> Class</div>
</li>
<li class="li1">
<div class="de1">&lt;/webmethod&gt;</div>
</li>
</ol>
</div>
<p>Come possiamo notare con questo metodo possiamo veramente sbizzarrirci a passare dei dati complessi da client a server e da server a client, migliorando sicuramente anche l&#8217;estendibilità e la chiarezza del codice, e aumentando a piacere il numero di parametri senza variare la firma del metodo del web service..ecc<br />
Esistono però dei limiti sulle tipologie di dati più complessi tipici dei linguaggi moderni, ma rimando ad approfondimenti sui prossimi articoli..</p>
<p><strong>Rifermenti:</strong><br />
<a href="http://http://www.asp.net/ajax/documentation/live/Tutorials/ExposingWebServicesToAJAXTutorial.aspx">http://www.asp.net/ajax/documentation/live/Tutorials/ExposingWebServicesToAJAXTutorial.aspx</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fpassare-oggetti-javascript-asp-net-web-services.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/passare-oggetti-javascript-asp-net-web-services.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 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">&#8217;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>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fcodeigniter-google-sitemap-xml-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/codeigniter-google-sitemap-xml-2.php/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jquery 1.3 la ferrari dei framework javascript!</title>
		<link>http://www.programmazione-web.com/jquery-13-la-ferrari-dei-framework-javascript.php</link>
		<comments>http://www.programmazione-web.com/jquery-13-la-ferrari-dei-framework-javascript.php#comments</comments>
		<pubDate>Wed, 14 Jan 2009 12:06:12 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[ferrari dei javascript]]></category>
		<category><![CDATA[framework javascript]]></category>
		<category><![CDATA[jquery 1.3]]></category>
		<category><![CDATA[jquery sizzle]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/?p=137</guid>
		<description><![CDATA[E' stata rilasciata la nuova versione del noto framework javascript Jquery, giunta alla release 1.3!

Questa versione oltre ad offrire alcune novità, è stata ottimizzata per migliorare notevolmente le performance di esecuzione, rendondo questo framework come da titolo: la Ferrari dei javascript!]]></description>
			<content:encoded><![CDATA[<p>E&#8217; stata rilasciata la nuova versione del noto <strong>framework javascript Jquery</strong>, giunta alla release 1.3!</p>
<p>Questa versione oltre ad offrire alcune novità, è stata ottimizzata per<strong> migliorare notevolmente le performance di esecuzione</strong>, rendondo questo framework come da titolo: <strong>la Ferrari dei javascript!</strong></p>
<div id="attachment_140" class="wp-caption alignnone" style="width: 310px"><a href="http://www.programmazione-web.com/wp-content/uploads/2009/01/jquery_insertion_benchmark-300x225.jpg"><img class="size-full wp-image-140" title="jquery insertion benchmark" src="http://www.programmazione-web.com/wp-content/uploads/2009/01/jquery_insertion_benchmark-300x225.jpg" alt="jquery insertion benchmark" width="300" height="225" /></a><p class="wp-caption-text">jquery insertion benchmark</p></div>
<p>Come novità è stato introdotto <a href="http://sizzlejs.com/" target="_blank"><strong>Sizzle</strong></a>, un nuovo<strong> CSS selector engine</strong>, che è ora totalmente indipendente dalla libreria, al quale hanno contribuito anche gli svilupppatori di <a href="http://dojofoundation.org/" target="_blank">Dojo</a>. Questo aggiunta ha permesso di ridurre sensibilmente del 49% i tempi di esecuzione, rispetto alla precedente versione del ramo 1.2.x, e sempre grazie a Sizzle, si ha la possibilità di associare eventi ad oggetti creati in realtime, il tutto senza preoccuparsi di dover rieseguire il bind di eventi agli stessi in caso di aggiornamento del DOM.</p>
<p>Inoltre è stata resa indipendente dal framework anche la parte di compatibilità cross-browser, la quale è stata delegata ad un oggetto esterno; questo accorgimento permetterà di mantenere piu controllabile ed estensibile il framework.</p>
<p>Si possono trovare informazioni sulla <a href="http://docs.jquery.com/Release:jQuery_1.3" target="blank">documentazione di release ufficiale</a> del progetto.</p>
<p>La <a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.min.js" target="blank">versione compressa</a> è di solo 18Kb e quella di <a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.js">development</a> circa 114Kb.</p>
<p><strong>Riferimenti:</strong><br />
<a href="http://jquery.com/" target="blank">http://jquery.com</a>.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fjquery-13-la-ferrari-dei-framework-javascript.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/jquery-13-la-ferrari-dei-framework-javascript.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

