<?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>Tales Augusto &#187; CSS</title>
	<atom:link href="http://www.talesaugusto.com.br/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.talesaugusto.com.br</link>
	<description>Integrando PHP e Javascript</description>
	<lastBuildDate>Thu, 07 Jan 2010 02:05:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Cabeçalho sob demanda (JS e CSS)</title>
		<link>http://www.talesaugusto.com.br/cabecalho-sob-demanda-js-e-css/</link>
		<comments>http://www.talesaugusto.com.br/cabecalho-sob-demanda-js-e-css/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 18:43:42 +0000</pubDate>
		<dc:creator>Tales</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Head]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.talesaugusto.com.br/?p=103</guid>
		<description><![CDATA[Para tentar otimizar o carregamento das páginas, procuro carregar somente o necessário para a correta exibição e funcionamento da mesma. Para isso, os arquivos para estilização (CSS) e os arquivos para interação com o usuário (JS) devem ser carregados somente quando necessários, ou seja, por demanda. Muitas pessoas colocam todas as funções JS em um [...]]]></description>
			<content:encoded><![CDATA[<p>Para tentar otimizar o carregamento das páginas, procuro carregar somente o necessário para a correta exibição e funcionamento da mesma. Para isso, os arquivos para estilização (CSS) e os arquivos para interação com o usuário (JS) devem ser carregados somente quando necessários, ou seja, por demanda. Muitas pessoas colocam todas as funções JS em um único arquivo, fazendo com que o carregamento fique um pouco mais demorado se fosse carregado somente o necessário para aquela página. O mesmo problema acontece com os arquivos CSS quem possuem toda a estilização do site em um único arquivo.</p>
<p>Com base nisso criei um plugin para o ZF que faz o carregamento dos arquivos sob demanda. Este plugin nada mais faz do que carregar os arquivos do módulo, controller, action (nesta ordem) no cabeçalho da página.</p>
<p>Para o correto funcionamento do plugin, é preciso que uma estrutura de pastas seja respeitada:</p>
<p><img class="alignnone size-full wp-image-105" title="head-sob-demanda" src="http://www.talesaugusto.com.br/wp-content/uploads/2009/08/imagem2.png" alt="head-sob-demanda" width="300" height="191" /></p>
<ul>
<li><strong>[moduleName]</strong> &#8211; Nome do modulo corrente;</li>
<li><strong>[scriptPathName]</strong> &#8211; Nome da pasta de scripts JS. Por padrão, é adotado o nome &#8217;scripts&#8217;;</li>
<li><strong>[controllerName]</strong> &#8211; Nome do controller corrente;</li>
<li><strong>[actionName]</strong> &#8211; Nome do action corrente;</li>
<li><strong>[scriptControllerName]</strong> &#8211; nome do script JS que será chamado a nível de controller. Por padrão, é adotado &#8216;controller&#8217;;</li>
<li><strong>[stylePathName]</strong> &#8211; Nome da pasta de estilos CSS. Por padrão, é adotado o nome &#8217;styles&#8217;;</li>
<li><strong>[styleControllerName]</strong> &#8211; nome do estilo CSS que será chamado a nível de controller. Por padrão, é adotado &#8216;controller&#8217;;</li>
</ul>
<blockquote><p>O plugin irá tentar incluir todos estes arquivos no head somente se o arquivo existir.</p></blockquote>
<p>O plugin deve ser registrado pelo objeto Zend_Controller_Front e o objeto de visualização (Zend_View_Interface) já deve estar previamente configurado para o correto funcionamento. O namespace Tavs_View_Helper deve ser adicionado através do método Zend_View::addHelperPath() para que o plugin acesse o helper Tavs_View_Helper_BaseUrl, responsável por incluir o baseUrl ao início do nome do arquivo.</p>
<p>Outra funcionalidade deste plugin é adicionar ao cabeçalho, códigos JS úteis para o javascript. Como o próprio baseUrl, ID da sessão e outros paths do sistema que só podem ser definidos pelo PHP.</p>
<p>O plugin Tavs_Controller_Plugin_View pode ser baixado juntamente com a minha biblioteca de códigos Tavs em <a href="http://tavslibary.googlecode.com/svn/trunk" target="_blank">http://tavslibary.googlecode.com/svn/trunk</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talesaugusto.com.br/cabecalho-sob-demanda-js-e-css/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
