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

<channel>
	<title>PHPBlog.it &#187; cakephp</title>
	<atom:link href="http://phpblog.it/tag/cakephp/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpblog.it</link>
	<description>Solo un altro blog targato WordPress</description>
	<lastBuildDate>Mon, 21 May 2012 21:45:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Il miglior framework</title>
		<link>http://phpblog.it/2012/02/16/il-miglior-framework/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=il-miglior-framework</link>
		<comments>http://phpblog.it/2012/02/16/il-miglior-framework/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 15:52:51 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[framework]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[code igniter]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://phpblog.it/?p=527</guid>
		<description><![CDATA[Ultimamente mi imbatto spesso nelle sempre divertenti domande "Qual è il miglior framework PHP?" o "Meglio Zend o Symfony?" o "Non ho mai usato in framework, da quale dovrei iniziare?" e via andare. Credo di essermici trovato dentro almeno quattro volte negli ultimi sette giorni. Ho deciso quindi di scrivere un post un minimo articolato da linkare nelle future discussioni senza perdere tempo in inutili flame che partono sistematicamente già dopo la seconda o terza risposta di "sviluppatori illuminati".<div class="addthis_toolbox addthis_default_style " addthis:url='http://phpblog.it/2012/02/16/il-miglior-framework/' addthis:title='Il miglior framework '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Ultimamente mi imbatto spesso nelle sempre divertenti domande &#8220;<em>Qual è il miglior framework PHP?</em>&#8221; o &#8220;<em>Meglio Zend o Symfony?</em>&#8221; o &#8220;<em>Non ho mai usato in framework, da quale dovrei iniziare?</em>&#8221; e via andare. Credo di essermici trovato dentro almeno quattro volte negli ultimi sette giorni. Ho deciso quindi di scrivere un post un minimo articolato da linkare nelle future discussioni senza perdere tempo in inutili flame che partono sistematicamente già dopo la seconda o terza risposta di &#8220;sviluppatori illuminati&#8221;.</p>
<p>Le risposte, molte volte, lasciano a bocca aperta. No, non perchè il contenuto sia di interesse sopraffino tale da cambiarvi la vita. Più che altro perchè mentre la leggi pensi &#8220;speriamo di non dover mai lavorare con sto qui&#8221;.</p>
<p><strong>Non ho mai usato un framework, da quale dovrei iniziare?<br />
</strong>Chi pone la domanda è già sicuramente confuso dopo le prime ricerche fatte in rete (perchè ha cercato in rete vero?). Per complicare ulteriormente le cose le risposte che riceve, tramite qualsiasi canale abbia utilizzato (mailing list, social network, sito dedicato), non fanno altro che ripetere quanto probabilmente aveva già ottenuto dalle ricerche effettuate precedentemente: risposte secche che spesso rappresentano l&#8217;unico framework conosciuto da chi risponde. Non il massimo della vita per chi brancola nel buio. Se uno volesse davvero rispondere dovrebbe quanto meno supportare la propria risposta con qualche informazione specifica riguardo almeno un paio di punti di forza che l&#8217;hanno spinto verso un prodotto piuttosto che verso un altro.<strong><br />
</strong></p>
<p><strong>Conosco linguaggio X e linguaggio Y, per un progetto pensavo di utilizzare PHP, mi consigliate il miglior framework?<br />
</strong>Qui la carne al fuoco è davvero troppa. Perchè oltre all&#8217;argomento framework, già sufficiente per far scoppiare il flame, si gioca anche il carico del linguaggio di programmazione in un ambiente in cui sicuramente sono presenti sviluppatori che utilizzano diversi linguaggi (più della religione). Scordatevi risposte costruttive perchè in pochi minuti arriverà la risposta &#8220;PHP? Ma sei matto? Usa Python! Al massimo Java.&#8221;. Ovviamente chi risponde aggiungerà di essere sviluppatore di lunga data e che quindi ha dalla sua l&#8217;esperienza per sparare a zero su tutte le altre cose che oggi non usa (e che magari ha provato solo per un Hello World anni e versioni prima).</p>
<p>Personalmente in situazioni del genere passo in punta di piedi, raso muro, facendo attenzione a non smerdarmi. Anche un consiglio pensato bene verrebbe sommerso dal resto. Tempo perso.</p>
<p><strong>Framework? Ma fattelo da solo!</strong><br />
Sì, nel 2012, c&#8217;è ancora chi preferisce reinventare la ruota e perdere tempo a lavorare sullo strumento piuttosto che sul prodotto. Di situazioni del genere si sono stufati anche i Maya che ovviamente hanno deciso di darci un taglio, proprio quest&#8217;anno. Serve davvero che affronti i problemi legati a una scelta di questo tipo? Qualità del prodotto ottenuto dallo sviluppo interno contro quello portato avanti da un core team (già di per sè molto skillato) più gli occhi e le mani di centinaia se non migliaia di altri sviluppatori che partecipano alla causa nei più disparati modi. Documentazione per eventuali nuovi sviluppatori da introdurre sui progetti. Sicurezza, questa sconosciuta. Standardizzazione dei processi. Devo continuare? Magari in un altro post.</p>
<p><strong>Meglio Zend Framework o meglio Symfony? Ed il migliore in assoluto?<br />
</strong>Ma di cosa stiamo parlando? Migliore rispetto a cosa? Le componenti in gioco sono talmente tante, spesso nemmeno paragonabili, che non è possibile affermare &#8220;questo è meglio&#8221; in modo assoluto. Un prodotto potrà essere più interessante su una certa funzione e pagare dazio su altre. Molte funzioni, non essendo coincidenti, non possono essere paragonate perchè si finirebbe con il dire &#8220;però, effettivamente, questo serve anche per fare altro&#8230;&#8221;. Ovviamente tutto questo discorso si riferisce a prodotti di un certo livello, già affermati e che rispettano dei vincoli <strong>minimi</strong> per essere tenuti in considerazione per progetti in quel campo enterprise di cui ci piace tanto parlare. Quali sono questi vincoli? Alcuni secondo me sono i seguenti:</p>
<p>- documentazione<br />
- community<br />
- risorse disponibili (plugin, bundle, estensioni&#8230;comunque vengano chiamate)<br />
- diffusione (per future collaborazioni, cercare nuovi sviluppatori&#8230;la diffusione di un framework fatto in casa è pari a zero)<br />
- case history di rilievo (sapere che si può arrivare almeno fino a quel punto X aiuta)<br />
- &#8230;</p>
<p>Quindi una volta appurato tutto questo una possibile risposta è &#8220;Io mi trovo bene con questo framework per questo, questo e quest&#8217;altro motivo. Ho invece avuto alcuni problemi per fare questa cosa e non mi piace molto la soluzione messa a disposizione&#8230;&#8221;.</p>
<p><strong>Ok, ma tu cosa mi suggerisci allora?</strong><br />
Il mio consiglio è sempre quello di scremare il più possibile tra i papabili eliminando quelli che non rispettano i vincoli che il singolo sviluppatore ritiene essere più importanti per lui, il suo team, ed il tipo di progetti che affronta. Fatto ciò sporcarsi le mani ed investire qualche ora realizzando un&#8217;applicazione non proprio banale, e questo non implica il fatto che debba essere &#8220;grande&#8221;, per arrivare a prendere una decisione in base ai propri gusti ed alle proprie necessità. La decisione dopo tutto è piuttosto personale e nessuno dovrebbe sentirsi autorizzato a dire &#8220;noooo usa questo!&#8221; piuttosto che consigliare in altro modo. Quando si avrà la prima versione della risposta &#8220;io mi trovo bene con&#8230;&#8221; molto probabilmente si sarà individuato il framework più adatto allo sviluppatore/scenario in questione.</p>
<p>Via al flame.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://phpblog.it/2012/02/16/il-miglior-framework/' addthis:title='Il miglior framework '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://phpblog.it/2012/02/16/il-miglior-framework/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Framework PHP: quale utilizzare?</title>
		<link>http://phpblog.it/2008/04/24/framework-php-quale-utilizzare/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=framework-php-quale-utilizzare</link>
		<comments>http://phpblog.it/2008/04/24/framework-php-quale-utilizzare/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 06:00:15 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[dalla rete]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[simone carletti]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://php5blog.it/2008/04/24/framework-php-quale-utilizzare/</guid>
		<description><![CDATA[Chi di voi non si è mai posto questa domanda al momento di decidere con che strumenti affrontare un nuovo progetto? Ad oggi l&#8217;offerta di framework basati su PHP è molto ampia ed ogni soluzione presenta chiaramente pro e contro. Prendere una decisione da portare avanti anche nel medio/lungo termine non è una cosa banale [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://phpblog.it/2008/04/24/framework-php-quale-utilizzare/' addthis:title='Framework PHP: quale utilizzare? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Chi di voi non si è mai posto questa domanda al momento di decidere con che strumenti affrontare un nuovo progetto? Ad oggi l&#8217;offerta di framework basati su PHP è molto ampia ed ogni soluzione presenta chiaramente pro e contro. Prendere una decisione da portare avanti anche nel medio/lungo termine non è una cosa banale e da prendere a cuor leggero visto anche il tempo da dedicare all&#8217;apprendimento dei metodi di lavoro legati ad ogni soluzione possibile.</p>
<p><span id="more-100"></span> Oltre alle preferenze personali c&#8217;è da valutare cosa viene offerto da ogni singolo framework e giudicare in base alle reali esigenze del progetto quale sia la soluzione migliore. Per cercare di chiarire qualche dubbio <a href="http://www.simonecarletti.com/blog/" title="Simone Carletti">Simone Carletti</a> ha creato una presentazione creata in occasione del Workshop di <a href="http://www.zend.com/it/">Zend Italia</a> su <a href="http://www.zend-framework.it/2008/03/18/arriva-zend-framework-15/">Zend Framework 1.5</a> che consiste di  una breve panoramica sull&#8217;argomento <strong>framework</strong> e <strong>web framework</strong> dedicando ampio spazio ad una comparazione tra i 3 framework PHP più utilizzati: <a href="http://www.symfony-project.org/" title="Symfony"><strong>Symfony</strong></a>, <a href="http://www.cakephp.org/" title="CakePHP"><strong>CakePHP</strong></a> e <a href="http://framework.zend.com/" title="Zend framework"><strong>Zend Framework</strong></a>.</p>
<p align="center">[slideshare 360643 workshopframework-1208553478186425-9]</p>
<p>Personalmente lo ritengo obiettivo ed un buon punto di partenza per cominciare a chiarirsi le idee a riguardo. Voi cosa ne pensate? Vi è stato d&#8217;aiuto? I <strong>commenti</strong> sono a vostra disposizione come sempre.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://phpblog.it/2008/04/24/framework-php-quale-utilizzare/' addthis:title='Framework PHP: quale utilizzare? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://phpblog.it/2008/04/24/framework-php-quale-utilizzare/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MVC: chi è costui?</title>
		<link>http://phpblog.it/2008/03/14/model-view-controller-design-pattern-mvc/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=model-view-controller-design-pattern-mvc</link>
		<comments>http://phpblog.it/2008/03/14/model-view-controller-design-pattern-mvc/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 06:00:11 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[programmazione]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[prado]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://php5blog.it/2008/03/14/model-view-controller-design-pattern-mvc/</guid>
		<description><![CDATA[Model-View-Controller (MVC, talvolta tradotto in italiano Modello-Vista-Controllore) è un pattern architetturale molto diffuso nello sviluppo di software object-oriented. A causa della crescente diffusione di tecnologie basate su MVC nel contesto di framework per applicazioni Web, l&#8217;espressione MVC sta entrando nell&#8217;uso anche per indicare specificatamente questa categoria di sistemi (che comprende per esempio Symfony, CakePHP e [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://phpblog.it/2008/03/14/model-view-controller-design-pattern-mvc/' addthis:title='MVC: chi è costui? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p><strong>Model-View-Controller</strong> (<strong>MVC</strong>, talvolta tradotto in italiano <strong>Modello-Vista-Controllore</strong>) è un <a href="http://it.wikipedia.org/wiki/Design_pattern" title="Design pattern">pattern architetturale</a> molto diffuso nello sviluppo di software object-oriented. A causa della crescente diffusione di tecnologie basate su MVC nel contesto di framework<a href="http://it.wikipedia.org/wiki/Middleware" title="Middleware"></a> per <a href="http://it.wikipedia.org/wiki/Applicazione_Web" title="Applicazione Web">applicazioni Web</a>, l&#8217;espressione <strong>MVC</strong> sta entrando nell&#8217;uso anche per indicare specificatamente questa categoria di sistemi (che comprende per esempio <a href="http://www.symfony-project.org/" title="Symfony">Symfony</a>, <a href="http://www.cakephp.org/" title="CakePHP">CakePHP</a> e <a href="http://www.xisc.com/" title="Prado">Prado</a>).</p>
<p><span id="more-65"></span> Il design pattern MVC identifica 3 livelli all&#8217;interno dell&#8217;architettura di un&#8217;applicazione:</p>
<ul>
<li>il <strong>model</strong> rappresenta l&#8217;informazione che vogliamo rappresentare e su cui l&#8217;applicazione lavora, è quella che possiamo definire business logic</li>
<li>il <strong>view</strong> è come rappresentiamo il model e quindi l&#8217;informazione permettendo l&#8217;interazione da parte dell&#8217;utente</li>
<li>il <strong>controller</strong> è il motore vero e proprio dell&#8217;applicazione risponde alle azioni dell&#8217;utente tramite la vista e chiede i dati al model facendo da tramite tra i due layer</li>
</ul>
<p>L&#8217;architettura MVC separa quindi la business logic (model) e la sua presentazione (view), rendendo il codice molto più facile da mantere ed aggiornare. Tale metodologia di design delle applicazioni è rivolta principalmente a progetti di media e grande dimensione visto che richiede una minuziosa progettazione e pianificazione per essere realizzato.</p>
<p><strong>CONSIGLIATI:</strong><br />
<a href="http://www.onlamp.com/pub/a/php/2005/09/15/mvc_intro.html?page=1" title="Understanding MVC in PHP">Understanding MVC in PHP</a><br />
<a href="http://www.symfony-project.org/book/1_0/02-Exploring-Symfony-s-Code" title="The MVC Pattern">The MVC Pattern</a></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://phpblog.it/2008/03/14/model-view-controller-design-pattern-mvc/' addthis:title='MVC: chi è costui? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://phpblog.it/2008/03/14/model-view-controller-design-pattern-mvc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

