<?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>oscarnogueira &#187; PHP</title>
	<atom:link href="http://oscarnogueira.com/category/programacao/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://oscarnogueira.com</link>
	<description></description>
	<lastBuildDate>Wed, 21 Mar 2012 00:47:16 +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>Yii &#8211; Alterando o tamanho de página de um CGridView</title>
		<link>http://oscarnogueira.com/2011/03/yii-alterando-o-tamanho-de-pagina-de-um-cgridview/</link>
		<comments>http://oscarnogueira.com/2011/03/yii-alterando-o-tamanho-de-pagina-de-um-cgridview/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 19:43:36 +0000</pubDate>
		<dc:creator>Oscar Nogueira Neto</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[yii]]></category>

		<guid isPermaLink="false">http://oscarnogueira.com/?p=74</guid>
		<description><![CDATA[Boas, Long time no see! Tenho interagido bastante com um framework RAD em PHP chamado Yii. O desenvolvimento de aplicativos para Web usando esse cara é bem simples e rápido, além de ser bastante customizável (como quase tudo em PHP). Não vou falar da história do framework, pois só o fato de saber que ele [...]]]></description>
			<content:encoded><![CDATA[<p>Boas,</p>
<p><em>Long time no see!</em></p>
<p>Tenho interagido bastante com um framework RAD em PHP chamado Yii. O desenvolvimento de aplicativos para Web usando esse cara é bem simples e rápido, além de ser bastante customizável (como quase tudo em PHP).</p>
<p>Não vou falar da história do framework, pois só o fato de saber que ele foi concebido pelo mesmo cara que criou o Prado já me convenceu de que é uma coisa boa.<span id="more-74"></span></p>
<p>Basicamente o que tenho pra falar nesse brevíssimo post é sobre como alterar o tamanho de uma página do componente de visualização de dados em forma de grid chamado CGridView. Esse componente recebe como parâmetro principal um objeto container de dados, preferencialmente (de acordo com a documentação) um CActiveDataProvider, como no trecho de código abaixo:</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$dataProvider</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> CActiveDataProvider<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Usuarios'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">widget</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'zii.widgets.grid.CGridView'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dataProvider'</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$dataProvider</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Por padrão, o componente exibe 10 registros por página. Mas o mais interessante de saber é que esse *não* é uma definição do componente de apresentação de dados e sim do container de dados, no caso o objeto CActiveDataProvider.</p>
<p>Então para fazer a alteração do tamanho de página é necessário alterar a propriedade pageSize do objeto CActiveDataProvider antes de passá-lo para o CGridView. Dêem uma olhada no trecho abaixo:</p>
<p>&nbsp;</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$dataProvider</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> CActiveDataProvider<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Usuarios'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> &nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff;">'pagination'</span><span style="color: #339933;">=&gt;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000ff;">'pageSize'</span><span style="color: #339933;">=&gt;</span><span style="color: #cc66cc;">50</span><span style="color: #339933;">,</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> &nbsp; &nbsp;<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">widget</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'zii.widgets.grid.CGridView'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'dataProvider'</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$dataProvider</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Pronto! Está feito. Simples e rápido.</p>
<p>Amplexos!</p>
<p>&nbsp;</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "desenvolvimento";
            bb_bid  = "1655928";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://oscarnogueira.com/2011/03/yii-alterando-o-tamanho-de-pagina-de-um-cgridview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gerando o arquivo schema.yml através do banco de dados</title>
		<link>http://oscarnogueira.com/2009/09/gerando-o-arquivo-schema-yml-atraves-do-banco-de-dados/</link>
		<comments>http://oscarnogueira.com/2009/09/gerando-o-arquivo-schema-yml-atraves-do-banco-de-dados/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 14:33:38 +0000</pubDate>
		<dc:creator>Oscar Nogueira Neto</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[YAML]]></category>

		<guid isPermaLink="false">http://oscarnogueira.com/?p=15</guid>
		<description><![CDATA[Buenos, quem trabalha com desenvolvimento de software e conhece um pouco de banco de dados, como eu (não necessariamente nessa mesma ordem), não gosta das estruturas de banco de dados criadas pelos frameworks de RAD. Principalmente quando os nomes dos objetos como chaves primárias, índices, chaves estrangeiras e tabelas fogem dos padrões determinados, ou quando [...]]]></description>
			<content:encoded><![CDATA[<p>Buenos,</p>
<p>quem trabalha com desenvolvimento de software e conhece um pouco de banco de dados, como eu (não necessariamente nessa mesma ordem), não gosta das estruturas de banco de dados criadas pelos frameworks de RAD. Principalmente quando os nomes dos objetos como chaves primárias, índices, chaves estrangeiras e tabelas fogem dos padrões determinados, ou quando pior, não seguem nenhum padrão!<span id="more-15"></span></p>
<p>Atualmente eu tenho testado o framework Symfony e com ele foi a mesma coisa. Gera código de maneira bem rápida, ganhando produtividade, mas os nomes dos objetos de banco de dados não ficam bons, logo eu prefiro criar o banco de dados na mão e depois gerar o arquivo ORM, sem contar que aprendar a notação da YAML é uma coisa a mais pra &#8220;perder&#8221; tempo.</p>
<p>Preferi usar o Doctrine ao invés do Propel, dei uma rápida googlada e cheguei a conclusão de que eu seria mais produtivo e próximo da curva que o mercado está dando se eu usasse o primeiro, portanto cá estou.</p>
<p>Para o Doctrine, depois de criar o banco de dados, e esse devidamente configurado no arquivo database.yml, execute o seguinte comando:</p>
<div class="codecolorer-container dos mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="dos codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">php symfony doctrine:build-schema</div></td></tr></tbody></table></div>
<p>Simples, né? O arquivo schema.yml gerado ficará dentro de <span style="font-family: courier new,courier;">&lt;project-path&gt;/config/doctrine/</span></p>
<p>Amplexos!</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "YAML";
            bb_bid  = "1655928";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://oscarnogueira.com/2009/09/gerando-o-arquivo-schema-yml-atraves-do-banco-de-dados/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

