<?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>Newton Wagner &#187; Newton Wagner</title>
	<atom:link href="http://www.newtonwagner.net/author/newton/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.newtonwagner.net</link>
	<description>se desenvolvendo na web</description>
	<lastBuildDate>Thu, 10 Jun 2010 14:36:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Utilizando Linha de base (Baseline) no MS Project</title>
		<link>http://www.newtonwagner.net/projeto/utilizando-linha-de-base-baseline-no-ms-project/</link>
		<comments>http://www.newtonwagner.net/projeto/utilizando-linha-de-base-baseline-no-ms-project/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 13:59:20 +0000</pubDate>
		<dc:creator>Newton Wagner</dc:creator>
				<category><![CDATA[projeto]]></category>
		<category><![CDATA[projetos]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.newtonwagner.net/?p=348</guid>
		<description><![CDATA[Um grande recurso do MS Project para o acompanhamento do andamento do projeto é a utilização das Linhas de Base (ou Baselines no termo em inglês), que permite comparar o que foi previsto no projeto com o que está sendo realizado. Para utilização da Linha de Base, primeiro é preciso entender que ela é uma [...]]]></description>
			<content:encoded><![CDATA[<p>Um grande recurso do MS Project para o acompanhamento do andamento do projeto é a utilização das Linhas de Base (ou Baselines no termo em inglês), que permite comparar o que foi previsto no projeto com o que está sendo realizado.</p>
<p>Para utilização da Linha de Base, primeiro é preciso entender que ela é uma Foto do seu planejamento, ou seja, como você planejou a execução do seu projeto. Você pode salvar baselines tanto para atividades específicas, como para todo o projeto, mas iremos trabalhar apenas o segundo cenário aqui.</p>
<p>O primeiro passo é criarmos um cronograma do nosso projeto, como neste exemplo:</p>
<p><img src="http://www.newtonwagner.net/wordpress/wp-content/uploads/2010/04/baseline_cronograma.gif" width="600" alt="Cronograma" /></p>
<p>Uma vez fechado o planejamento, podemos salvar a linha de base do nosso projeto acessando o menu &#8220;<em>Ferramentas &gt; Controle &gt; Definir Linha de Base</em>&#8220;, que irá nos levar até a tela abaixo.</p>
<p><img src="http://www.newtonwagner.net/wordpress/wp-content/uploads/2010/04/baseline_dialogobaseline.gif" alt="Caixa de Criação de Linha de Base" /></p>
<p>Agora que já salvamos nossa linha de base, podemos visualizar em nosso cronograma no Project a linha de base ao lado do meu cronograma de andamento, através do menu &#8220;Exibir &gt; Gantt de Controle&#8221;, passando a ter a seguinte visualização do gráfico:</p>
<p><img src="http://www.newtonwagner.net/wordpress/wp-content/uploads/2010/04/baseline_grafcontrole.gif" width="600" alt="Gantt de Controle" /></p>
<p>Agora que temos a linha de base salva, vamos supor um andamento do nosso projeto, considerando a data atual como 28/04/2010 (linha pontilhada no Gantt). Vamos considerar que a Atividade A foi iniciada e concluída dentro do prazo, a atividade B não foi iniciada no dia, e terá o atraso de 1 dia em seu início, e a atividade C foi iniciada e está com andamento dentro do que foi planejado.</p>
<p>Já vemos agora no Gantt de Controle, uma distorção entre Planejado (barras pretas no Gantt) e o Realizado (barras azuis e vermelhas no Gantt), indicando claramente o atraso nas Atividades B e D:</p>
<p><img src="http://www.newtonwagner.net/wordpress/wp-content/uploads/2010/04/baseline_controlemod.gif" width="600" alt="Gantt de Controle com Andamento" /></p>
<h3>Linha de Andamento</h3>
<p>Outra forma de fazer o acompanhamento com a linha de Base além do Gantt de Controle, é utilizando a Linha de Andamento, acessada através do menu &#8220;Ferramentas &gt; Controle &gt; Linhas de Andamento&#8221;. Iremos configurar uma linha de base simples, em relação ao nosso Planejamento (“Plano da linha de base”), conforme tela abaixo:</p>
<p><img src="http://www.newtonwagner.net/wordpress/wp-content/uploads/2010/04/baseline_dialogolinha.gif" width="600" alt="Tela de Criação de Linha de Andamento" /></p>
<p>Depois de configurada a linha de andamento, podemos ver no Gantt uma linha vermelha, cortando nosso cronograma na data atual e com marcadores do andamento para cada atividade:</p>
<ul>
<li>Atividade A: Concluída, sem marcador;</li>
<li>Atividade B: Marcador recuado em relação à linha de andamento e à atividade, indicando atraso em relação ao planejado (Linha de Base);</li>
<li>Atividade C: Marcador sobre a linha de andamento, indicando que a atividade está sendo executada dentro do previsto;</li>
<li>Atividade D: Atividade futura, sem marcador.</li>
</ul>
<p><img src="http://www.newtonwagner.net/wordpress/wp-content/uploads/2010/04/baseline_linhaandamento.gif" width="600" alt="Gantt com Linha de Andamento" /></p>
<p>Com a linha de andamento, conseguimos ter uma visualização rápida de como está o andamento das atividades em relação ao que foi planejado até a data atual, mas não conseguimos visualizar o impacto nas atividades futuras do projeto (neste caso, Atividade D).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newtonwagner.net/projeto/utilizando-linha-de-base-baseline-no-ms-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Certificação CAPM vale a pena?</title>
		<link>http://www.newtonwagner.net/carreira/certificacao-capm-vale-a-pena/</link>
		<comments>http://www.newtonwagner.net/carreira/certificacao-capm-vale-a-pena/#comments</comments>
		<pubDate>Wed, 06 May 2009 15:54:42 +0000</pubDate>
		<dc:creator>Newton Wagner</dc:creator>
				<category><![CDATA[carreira]]></category>
		<category><![CDATA[projeto]]></category>
		<category><![CDATA[projetos]]></category>

		<guid isPermaLink="false">http://www.newtonwagner.net/?p=310</guid>
		<description><![CDATA[Em meu caminho para direcionar minha carreira para a área de Gestão de Projetos, por ter pouca experiência atuando na área, resolvi procurar por alguma certificação para servir de guia (ou meta) nesse caminho, e me deparei com as certificações oficiais do PMI: CAPM e PMP. A primeira certificação, é a de PMP, Project Manager [...]]]></description>
			<content:encoded><![CDATA[<p>Em meu caminho para direcionar minha carreira para a <strong>área de Gestão de Projetos</strong>, por ter pouca experiência atuando na área, resolvi procurar por alguma certificação para servir de guia (ou meta) nesse caminho, e me deparei com as certificações oficiais do <a href="http://www.pmi.org/">PMI</a>: CAPM e PMP.</p>
<p>A primeira certificação, é a de PMP, <em>Project Manager Professional</em>, dispensa comentários, pois é extremamente difundida no mercado de trabalho. Já a <strong>CAPM</strong>, <em>Certified Associate in Project Management</em>, foi criada pelo PMI em 2003 para profissionais envolvidos em projetos e jovens gerentes de projetos que ainda não atingiram os pré-requisitos para a PMP, exigindo apenas 1 ano de experiência de participação em projetos, contra o mínimo 3 anos de atuação como gerente de projetos da certificação PMP.</p>
<p>Nesse momento, como me encaixaria no grupo dos que ainda não possui os pré-requisitos para a certificação PMP, me perguntei se valeria a pena investir na CAPM. Pra responder a essa pergunta, resolvi dar uma olhada no mercado de trabalho.</p>
<p>Realizando uma pesquisa no portal de empregos <a href="http://www.catho.com.br/">Catho Online</a>, sem qualquer outro filtro além da palavra chave &#8220;PMP&#8221; , obtive 107 ofertas como resultado. Ao realizar pesquisa semelhante com a palavra chave &#8220;CAPM&#8221;, <strong>nenhum resultado</strong> foi encontrado. O mesmo cenário se repetiu em outros dois portais de empregos, <a href="http://www.ceviu.com.br/">CEVIU</a> e <a href="http://www.empregosti.com/">EmpregosTI</a>.</p>
<p>Um pouco surpreso com o resultado da pesquisa, aproveitei o contato com uma figura conhecida no mundo de Gerenciamento de Projetos, e fiz para ele a mesma pergunta que havia feito pra mim mesmo: CAPM vale a pena?</p>
<p>A resposta foi positiva, mas com algumas ressalvas.</p>
<p>A ressalva é que o mercado brasileiro ainda não absorveu a certificação CAPM e, por isso, não encontramos vagas específicas para esse tipo de certificado. Então, mesmo com essa certificação você não garante uma vaga para atuação como Gerente de Projetos, tanto quanto um certificado PMP, no mercado de trabalho.</p>
<p>O argumento positivo é, de certa forma, o genérico para certificações: indicativo de interesse pelo assunto; comprometimento e capacidade de aprendizado para aprovação na prova. Isso significa que, se você está atuando como líder técnico, por exemplo, e quer partir para a área de Gestão de Projetos, então uma boa forma de demonstrar isso para seus líderes ou futuro empregador, é tirar uma certificação (CAPM) que demonstra o seu interesse e comprometimento com um modelo reconhecido pelo mercado (no caso o Guia PMBOK).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newtonwagner.net/carreira/certificacao-capm-vale-a-pena/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Projeto PHP Counter</title>
		<link>http://www.newtonwagner.net/php/projeto-php-counter/</link>
		<comments>http://www.newtonwagner.net/php/projeto-php-counter/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 13:22:08 +0000</pubDate>
		<dc:creator>Newton Wagner</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.newtonwagner.net/?p=320</guid>
		<description><![CDATA[Atenção desenvolvedores e entusiastas de PHP. Vi no site do PHP-DF uma chamada para participação do Projeto PHP Counter. Segundo o site do projeto, &#8220;o objetivo do projeto é ser uma referência para o mercado PHP mundial, fornecendo dados estatísticos que propiciarão a análise e evolução do mercado através da atuação em conjunto com grupos [...]]]></description>
			<content:encoded><![CDATA[<p>Atenção desenvolvedores e entusiastas de PHP. Vi no site do <a href="http://www.phpdf.org.br/2009/04/06/php-counter/">PHP-DF</a> uma chamada para participação do <a href="http://www.phpcounter.org/">Projeto PHP Counter</a>. Segundo o site do projeto, &#8220;<em>o objetivo do projeto é ser <strong>uma referência para o mercado PHP mundial</strong>, fornecendo dados estatísticos que propiciarão a análise e evolução do mercado através da atuação em conjunto com grupos de usuários, empresas e profissionais</em>&#8220;.</p>
<p>Esse tipo de iniciativa pode ser muito benéfica para a comunidade de profissionais da linguagem. Quando fiz meu projeto final, tive muita dificuldade em encontrar boas referências de utilização do PHP, assim como estatísticas para justificar o uso da linguagem.</p>
<p>Participem!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newtonwagner.net/php/projeto-php-counter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Migração de servidor e ausência</title>
		<link>http://www.newtonwagner.net/osblogs/migracao-de-servidor-e-ausencia/</link>
		<comments>http://www.newtonwagner.net/osblogs/migracao-de-servidor-e-ausencia/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 22:21:29 +0000</pubDate>
		<dc:creator>Newton Wagner</dc:creator>
				<category><![CDATA[osblogs]]></category>

		<guid isPermaLink="false">http://www.newtonwagner.net/wordpress/?p=298</guid>
		<description><![CDATA[Estou a muito tempo sem escrever no blog, devido à correria que anda por aqui. Estou providenciando uma migração no servidor e vocês devem ter notado que troquei o tema também, para algo bem mais simplista. Até o final do ano devo tomar uma decisão no rumo que esse blog vai tomar, se vou continuar [...]]]></description>
			<content:encoded><![CDATA[<p>Estou a muito tempo sem escrever no blog, devido à correria que anda por aqui. Estou providenciando uma migração no servidor e vocês devem ter notado que troquei o tema também, para algo bem mais simplista.</p>
<p>Até o final do ano devo tomar uma decisão no rumo que esse blog vai tomar, se vou continuar escrevendo sobre TI ou se vou abrir para outros assuntos. É provável que eu comece a falar mais sobre Projetos, Startups e um pouco de administração, do que desenvolvimento web, PHP ou banco de dados.</p>
<p>Caso vocês tenham algum problema no site, por favor me informem para que eu possa corrigir imediatamente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newtonwagner.net/osblogs/migracao-de-servidor-e-ausencia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A morte do PHP 4</title>
		<link>http://www.newtonwagner.net/php/a-morte-do-php-4/</link>
		<comments>http://www.newtonwagner.net/php/a-morte-do-php-4/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 14:51:34 +0000</pubDate>
		<dc:creator>Newton Wagner</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.newtonwagner.net/?p=305</guid>
		<description><![CDATA[A versão 4 do PHP, lançada no ano 2000, foi a que contribuiu definitivamente para que ela se tornasse o que é hoje, teve sua morte decretada no dia 07/08/08 (quase que cai no dia 8 também) com o lançamento de sua última release, a 4.4.9. Esta versão, que trouxe consigo o primeiro Zend Engine, [...]]]></description>
			<content:encoded><![CDATA[<p>A versão 4 do PHP, lançada no ano 2000, foi a que contribuiu definitivamente para que ela se tornasse o que é hoje, teve sua morte decretada no dia 07/08/08 (quase que cai no dia 8 também) com o lançamento de sua <strong>última release</strong>, a 4.4.9.</p>
<p>Esta versão, que trouxe consigo o primeiro Zend Engine, contribuiu para o crescimento do PHP até ele se tornar a linguagem web <strong>mais utilizada no mundo</strong>, segundo <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">ranking da Tiobe Software</a> e, apesar de estar perdendo espaço continuamente para outras versões mais novas, ainda está presente em diversos ambientes espalhados por aí.</p>
<p>A princípio, a sugestão dos desenvolvedores da linguagem era de que novas releases do PHP 4 só fossem realizadas para correções de falhas de segurança, mas chegaram a conclusão de que isto já vinha sendo feito no último ano, e que não havia mais razão para dar continuidade ao desenvolvimento.</p>
<p>Sinceramente, acredito que esta seja uma decisão até tardia, uma vez que o PHP 5 foi lançado em 2004. A morte da versão anterior deve estimular os desenvolvedores e administradores de sistemas a atualizar suas aplicações/servidores, até por uma questão de segurança, além de todos os benefícios já envolvidos em relação à evolução do PHP.</p>
<p>Vida longa ao PHP 5+, e que venha o 6.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newtonwagner.net/php/a-morte-do-php-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lançado Kohana Framework 2.2</title>
		<link>http://www.newtonwagner.net/php/lancado-kohana-framework-22/</link>
		<comments>http://www.newtonwagner.net/php/lancado-kohana-framework-22/#comments</comments>
		<pubDate>Sat, 09 Aug 2008 16:35:18 +0000</pubDate>
		<dc:creator>Newton Wagner</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[kohana]]></category>

		<guid isPermaLink="false">http://www.newtonwagner.net/?p=304</guid>
		<description><![CDATA[Os desenvolvedores do Kohana escolheram uma data curiosa para o lançamento da versão 2.2 do framework, 08/08/08, competindo com a abertura dos jogos olímpicos da China (que ganhou medalha de ouro chegando na frente, uma vez que o dia lá começa bem antes do que por aqui). Com a nova versão a promessa de abandonar [...]]]></description>
			<content:encoded><![CDATA[<p>Os desenvolvedores do Kohana escolheram uma data curiosa para o lançamento da versão 2.2 do framework, 08/08/08, <em>competindo</em> com a abertura dos jogos olímpicos da China (que ganhou medalha de ouro chegando na frente, uma vez que o dia lá começa bem antes do que por aqui).</p>
<p>Com a nova versão a promessa de abandonar ainda mais alguns vestígios do seu &#8220;pai&#8221;, o Code Igniter, como a remoção da classe Loader. Além disso, novos módulos foram implementados como o de Compressão de Arquivos, Integração com Google Maps e Captcha, dentro outros.</p>
<p>Visite o <a href="http://kohanaphp.com/">site oficial do Kohana</a> para mais informações ou para fazer o <a href="http://kohanaphp.com/download">download</a> da nova versão.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newtonwagner.net/php/lancado-kohana-framework-22/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RSS Feeds versus Newsletters</title>
		<link>http://www.newtonwagner.net/web/rss-feeds-versus-newsletters/</link>
		<comments>http://www.newtonwagner.net/web/rss-feeds-versus-newsletters/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 13:53:18 +0000</pubDate>
		<dc:creator>Newton Wagner</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://www.newtonwagner.net/?p=302</guid>
		<description><![CDATA[Ao se fazer um web site, grande parte dos desenvolvedores pensa em agregar os diversos tipos de funcionalidades &#8220;web 2.0&#8243;, e uma das mais populares entre os desenvolvedores atualmente é o oferecimento de conteúdo através de RSS Feeds. Em uma recente experiência, em um site que não trata de tecnologia nem blogs (blogueiros são leitores [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img src="http://www.newtonwagner.net/wordpress/wp-content/uploads/2008/08/rssxnewsletter.gif" alt="" title="rss versus newsletter" width="369" height="139" class="size-full wp-image-303" /></p>
<p>Ao se fazer um web site, grande parte dos desenvolvedores pensa em agregar os diversos tipos de funcionalidades &#8220;web 2.0&#8243;, e uma das mais populares entre os desenvolvedores atualmente é o oferecimento de <strong>conteúdo através de RSS Feeds</strong>.</p>
<p>Em uma recente experiência, em um site que <strong>não trata de tecnologia nem blogs</strong> (blogueiros são leitores compulsivos de feeds <img src='http://www.newtonwagner.net/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ), tínhamos apenas 35 leitores de RSS cadastrados, com contabilização realizada através do <a href="http://www.feedburner.com/">FeedBurner</a>, mesmo com um tráfego médio de 5 mil visitantes únicos/dia. Essa incoerência de visitas/assinantes me incomodava, pois aqui no meu blog, tenho o inverso, mais assinantes do que visitantes únicos por dia.</p>
<p>A conclusão que cheguei foi óbvia: <strong>o RSS ainda é desconhecido do usuário médio</strong>, e é mais utilizado por pessoas que se relacionam à tecnologia ou blogs de alguma forma (entusiastas, blogueiros, informatas, &#8230;). Desta forma, um blog que trata de tecnologia (este) tinha mais assinantes do que um &#8220;concorrente humorístico&#8221; que tinha 100 vezes mais visitantes, e, por incrível que pareça, não há nada de errado nisso.</p>
<p>A solução para este problema foi encontrada no próprio FeedBurner, que oferece também a <strong>distribuição do conteúdo por e-mail</strong>, nada mais do que a boa e velha <strong>Newsletter</strong>. Como os usuários estão mais familiarizados com seu e-mail, &#8220;<em>receba novidades do site por e-mail</em>&#8221; é muito mais atraente do que &#8220;<em>assine meu Feed RSS</em>&#8220;.</p>
<p>Com a inclusão de uma chamada discreta para o cadastro, vi a quantidade de assinantes triplicar em um curto período de tempo, comprovando que Newsletters ainda são mais efetivas do que os Feeds para sites direcionados ao usuário comum da internet.</p>
<p>Panela velha é que faz comida boa, também na web?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newtonwagner.net/web/rss-feeds-versus-newsletters/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Lambda Functions/Closures no PHP 5.3</title>
		<link>http://www.newtonwagner.net/php/lambda-functionsclosures-no-php-53/</link>
		<comments>http://www.newtonwagner.net/php/lambda-functionsclosures-no-php-53/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 14:18:27 +0000</pubDate>
		<dc:creator>Newton Wagner</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.newtonwagner.net/?p=301</guid>
		<description><![CDATA[Das diversas alterações anunciadas no lançamento da Alpha 1 do PHP 5.3, a que mais me chamou a atenção foi, sem dúvidas, a implementação de &#8220;Lambda Functions/Closures&#8220;. Mais até do que a implantação de Namespaces, que foi tão discutida por aí que não deve ter causado nenhum impacto mesmo. Se você ao ler isso, assim [...]]]></description>
			<content:encoded><![CDATA[<p>Das diversas alterações anunciadas no lançamento da Alpha 1 do PHP 5.3, a que mais me chamou a atenção foi, sem dúvidas, a implementação de &#8220;<strong>Lambda Functions/Closures</strong>&#8220;. Mais até do que a implantação de Namespaces, que foi tão discutida por aí que não deve ter causado nenhum impacto mesmo.</p>
<p>Se você ao ler isso, assim como eu ao ler a notícia no php.net, está se perguntando: &#8220;ok, mas o que é isso afinal?&#8221;, acho que um trecho de exemplo de código vale mais do que mil palavras:</p>
<pre class="brush: php">
$variavel = function () { echo &quot;Hello World&quot;; };
$variavel ();
</pre>
<p>Pronto. Isso é, nada mais, nada menos, do que um Hello World com &#8220;lambda function&#8221;. Você pode estar pensando que já viu isso em algum lugar e tem toda razão. Se você desenvolve JavaScript há algum tempo, provavelmente já viu esse tipo de atribuição, principalmente para adicionar uma funcionalidade a um evento em um objeto.</p>
<p>Assim como no JavaScript, você poderá passar parâmetros para a função. Usando mais uma vez o  famoso Hello World:</p>
<pre class="brush: php">
$variavel = function ($string) { echo $string; };
$variavel (&quot;Hello World&quot;);
</pre>
<p>Indo mais além, você pode definir quais variáveis de fora do escopo da função, serão utilizadas lá dentro, e têm comportamento idêntico ao dos parâmetros de uma função, isto é, elas são, na verdade, copiadas para dentro do escopo da função e, caso queira, você pode passá-las por referência, utilizando o caracter &#038;:</p>
<pre class="brush: php">
$hello = &quot;Hello&quot;;
$world = &quot;Newton&quot;;
$variavel = function () use ($hello, &amp;$world)
{
	$hello = &quot;Hi&quot;;
	$world = &quot; World&quot;;
	echo $hello . $world; // echoa &quot;Hi World&quot;
};
$variavel ();
echo $hello . $world; // echoa &quot;Hello World&quot;
</pre>
<p>No exemplo acima, definimos as strings $hello e $world. Depois, chamamos a função, informando que usaríamos as mesmas variáveis, sendo que $world está sendo passada por referência. Ainda dentro da função alteramos as duas e exibimos na tela. Após a execução da função, exibimos novamente as variáveis $hello e $world, sendo que a primeira foi alterada apenas dentro do escopo da função e a segunda, passada por referência, sofreu alteração (incluímos o espaço ali pra quem não notou).</p>
<p>Muito interessante a implementação da chamada da função, que acabou ganhando aplicação em objetos, que, ao serem chamados no formato <code>$objeto()</code>, chama automaticamente o método mágico <code>__invoke()</code> da classe:</p>
<pre class="brush: php">
class Objeto
{
	public function __invoke()
	{
		echo &quot;Hello Objeto&quot;;
	}
}
$objeto = new Objeto
$objeto (); // exibe na tela &quot;Hello Objeto&quot;
// lembro que &quot;echo $objeto;&quot; continuará chamando __toString()
</pre>
<p>Confesso que, a primeira vista, não consegui achar utilidade nenhuma pra isso, além de uma forma diferente de trabalhar com funções, principalmente em chamadas de callbacks (call_user_func()), onde você passaria uma variável ao invés de um array ou uma string. Porém, comentando o assunto por aí, alguns desenvolvedores se mostraram entusiasmados com a novidade. Minha recomendação é aquela padrão: use com moderação, somente em casos onde de fato for relevante.</p>
<p>Mais detalhes sobre lambda funcions/closures no <a href="http://wiki.php.net/rfc/closures">wiki do php.net</a>, ou ainda, no <a href="http://www.php.net/archive/2008.php#id2008-08-01-1">anúncio do lançamento da 5.3 alpha 1</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newtonwagner.net/php/lambda-functionsclosures-no-php-53/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Estou também no LinkedIn</title>
		<link>http://www.newtonwagner.net/carreira/estou-tambem-no-linkedin/</link>
		<comments>http://www.newtonwagner.net/carreira/estou-tambem-no-linkedin/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 15:31:43 +0000</pubDate>
		<dc:creator>Newton Wagner</dc:creator>
				<category><![CDATA[carreira]]></category>

		<guid isPermaLink="false">http://www.newtonwagner.net/?p=300</guid>
		<description><![CDATA[Não há muito o que dizer além do que o próprio título do post. Muitos me avisaram que o LinkedIn era uma ferramenta profissional muito útil, mas nunca levei tanta fé. Porém, esses dias recebi o convite de um amigo e resolvi dar uma olhada por lá. Acabei encontrando profissionais com quem trabalhei e que, [...]]]></description>
			<content:encoded><![CDATA[<p>Não há muito o que dizer além do que o próprio título do post. Muitos me avisaram que o <a href="http://www.linkedin.com/">LinkedIn</a> era uma ferramenta profissional muito útil, mas nunca levei tanta fé. Porém, esses dias recebi o convite de um amigo e resolvi dar uma olhada por lá. Acabei encontrando profissionais com quem trabalhei e que, com certeza, estão fora da &#8220;onda&#8221; da internet, isto prova que a ferramenta deixou de ser hype para se tornar referência no assunto.</p>
<p>Se você ainda não está lá, recomendo entrar. Quando passar lá dá uma olhada no meu <a href="http://www.linkedin.com/in/newtonwagner">profile</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newtonwagner.net/carreira/estou-tambem-no-linkedin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CONAPHP &#8211; Congresso Nacional de PHP 2008</title>
		<link>http://www.newtonwagner.net/eventos/conaphp-congresso-nacional-de-php-2008/</link>
		<comments>http://www.newtonwagner.net/eventos/conaphp-congresso-nacional-de-php-2008/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 14:20:40 +0000</pubDate>
		<dc:creator>Newton Wagner</dc:creator>
				<category><![CDATA[eventos]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.newtonwagner.net/?p=299</guid>
		<description><![CDATA[A comunidade PHP brasileira já tem seu ponto de encontro em 2008 para troca de conhecimento e networking. Trata-se do CONAPHP, o Congresso Nacional de PHP, que ocorrerá integrado ao CONISLI, evento já conhecido de software livre, nos dias 18 e 19 de outubro na FIAP de São Paulo. Segundo o site do evento, já [...]]]></description>
			<content:encoded><![CDATA[<p>A comunidade PHP brasileira já tem seu <strong>ponto de encontro em 2008</strong> para troca de conhecimento e networking. Trata-se do <strong>CONAPHP</strong>, o Congresso Nacional de PHP, que ocorrerá integrado ao CONISLI, evento já conhecido de software livre, nos dias <strong>18 e 19 de outubro</strong> na FIAP de São Paulo.</p>
<p>Segundo o site do evento, já estão confirmadas as presenças internacionais de <strong>Andrei Zmievski</strong>, responsável pela criação do Smarty Templates e PHP-GTK, e <strong>César Rodas</strong>, vencedor do PHP Programming Innovation Award de 2007 organizado pelo site <a href="http://www.phpclasses.org/">PHPClasses</a> e participante do Google Summer of Code (GSoC) 2008.</p>
<p>Este evento está sendo organizado pelo grupo formado a partir da união das comunidades locais de PHP no Brasil, isto é, um evento da comunidade para a comunidade.</p>
<p>Mais informações sobre o evento você vê no <a href="http://www.conisli.org/monta.php?mod=noticias&#038;action=viewnot&#038;view=2">site oficial</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newtonwagner.net/eventos/conaphp-congresso-nacional-de-php-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
