<?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>José Wilker</title>
	<atom:link href="http://wilker.com.br/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://wilker.com.br/blog</link>
	<description>Um pouco de jQuery e PHP com Code Igniter, Zend Framework, PEAR.</description>
	<lastBuildDate>Wed, 18 Nov 2009 23:05:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Aprenda a integrar o Code Igniter com o repositório PEAR.</title>
		<link>http://wilker.com.br/blog/?p=4</link>
		<comments>http://wilker.com.br/blog/?p=4#comments</comments>
		<pubDate>Sun, 06 Sep 2009 18:54:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code Igniter]]></category>
		<category><![CDATA[Code Igniter + PEAR]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PEAR]]></category>

		<guid isPermaLink="false">http://wilker.com.br/blog/?p=4</guid>
		<description><![CDATA[Integração do respositório de bibliotecas do PHP (PEAR) com o code igniter.]]></description>
			<content:encoded><![CDATA[		<div style="float:right;margin:0px 0px 10px 10px;">
			<script type="text/javascript">
				digg_url = 'http://wilker.com.br/blog/?p=4';
				digg_title = 'Aprenda a integrar o Code Igniter com o repositório PEAR.';
				digg_bodytext = "Integração do respositório de bibliotecas do PHP (PEAR) com o code igniter.";
									digg_skin = '';
													digg_topic = 'programming';
													digg_bgcolor = '#ffffff';
													digg_window = 'new';
											</script>
			<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script> 		
		</div>
		<p>Alguns já devem ter tido a necessitade de adicionar um pouco mais de robustez ao codeigniter. há alguns dias atrás eu tive a necessidade de fazer realizar essa tarefa. motivo?</p>
<p>&#8220;Desenvolver apenas o que é para ser desenvolvido e, melhorar o que já existe.&#8221;</p>
<p>Sendo assim começarei aqui a explicar sobre como podemos integrar o code igniter ao respositório PEAR com segurança. afinal, acima eu disse. &#8220;Desenvolver apenas o que é para ser desenvolvido e, melhorar o que já existe.&#8221;.<span id="more-4"></span></p>
<p>Cheguei no artigo oficial da <strong>elluslab</strong> no qual estava explicando sobre como integrar o <strong>Code Igniter</strong> ao <strong>PEAR</strong>.</p>
<p>Seguindo o tutorial não encontrei problemas para saber onde poderia mudar as informações necessárias para extender um pouco mais ainda o codeigniter, para que no final tudo funcionasse corretamente. mas não foi bem assim que terminou.</p>
<p><span style="color: #808080;">Obs: o tutorial abaixo é de autoria da elluslab. você pode encontrar o artigo original <a title="Integração do Code Igniter com o PEAR" href="http://codeigniter.com/wiki/PEAR_integration/" target="_blank">aqui</a>.</span></p>
<p><strong>Code Igniter + PEAR</strong></p>
<p>1. Passo &#8211; Crie uma pasta com permissão para leitura e escrita, chamada PEAR (minusculo).</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">system</span><span style="color: #339933;">/</span>application</pre></div></div>

<p>2. Passo &#8211; Copie a biblioteca do PEAR. você pode fazer download em http://pear.php.net</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">system</span><span style="color: #339933;">/</span>application<span style="color: #339933;">/</span>pear<span style="color: #339933;">/</span>PEAR<span style="color: #339933;">.</span>php</pre></div></div>

<p>3. Passo &#8211; Ative seus hooks dentro do seu arquivo config.php</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'enable_hooks'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">;</span></pre></div></div>

<p>4. Passo &#8211; Dentro do diretório system/application/config tem um arquivo chamado hooks.php, abra ele e adicione o hook do seu PEAR.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$hook</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pre_controller'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
<span style="color: #0000ff;">'class'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'Pear_hook'</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">'function'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'index'</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">'filename'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'pear_hook.php'</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">'filepath'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'hooks'</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>5. Passo &#8211; Criar o arquivo do hook do PEAR. o nosso arquivo deverá se chamar &#8220;pear_hook&#8221;. isso acontece por que no arquivo hooks.php dentro do diretório config. nós definimos que o &#8220;filename&#8221; seria &#8220;pear_hook&#8221;.</p>
<p>6. Passo &#8211; Criar a biblioteca que irá extender o CI para as bibliotecas do PEAR. dentro do diretório &#8220;system/application/libraries&#8221; iremos criar um arquivo chamado &#8220;Pearloader.php&#8221; e e então copie e cole a informação abaixo dentro dele.</p>
<p>7. Passo &#8211; Testar a instalação sugerida pela elluslab.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">load<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>library<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'pearloader'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$http_request</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>pearloader<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'Request'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$http_request</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setURL<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$http_request</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>sendRequest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$http_request</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>getResponseBody<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></pre></div></div>

<p>Uso, o metodo load da nossa library &#8220;pearloader&#8221; ele tem como padrão tem 2 parâmetros obrigatório e 1 parâmetro opcional. abaixo tem uma definição desses parâmetros.</p>
<p><strong>package</strong>: pacote do pear que está carregando. referente ao diretório que do pacote do pear que está dentro da pasta da sua aplicação. &#8220;system/application/pear&#8221;.</p>
<p><strong>class</strong>: a classe mae do pacote.</p>
<p><strong>options</strong>: caso a classe tenha metódos para inicializar a classe é possivel passar os parametros nas options.</p>
<p>Pronto, se deu tudo certo no final é por que está funcionando. infelizmente ainda não sei lhe dizer por que em alguns lugares eu tive problemas e em outros lugares não.</p>
<p>se caso tiver esse problema, a solução para resolver de uma forma definitiva é configurando mais algumas coisas.</p>
<p>1. Passo &#8211; Altere a biblioteca pearloader.php dentro do diretório. &#8220;system/application/libraries&#8221;.</p>
<p>2. Passo &#8211; Altere a base para require dentro das bibliotecas do pear. dentro do diretório. &#8220;system/application/pear/&#8221;.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span> BASEPATH<span style="color: #339933;">.</span><span style="color: #0000ff;">'application/pear/PEAR.php'</span><span style="color: #339933;">;</span></pre></div></div>

<p>3. Passo &#8211; Testando o hack.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>load<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>library<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'pearloader'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>pearloader<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Barcode'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'Barcode'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'Image_Barcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
Image_Barcode<span style="color: #339933;">::</span><span style="color: #004000;">draw</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$codPaciente</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;00&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'int25'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'png'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">imagepng</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$img</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">imagedestroy</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$img</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Fim.</p>
<p>É isso, encontrei diversas vezes o mesmo problema neste tipo de integração e sempre usei essa mesma solução. esta testada e comprovada portanto deixo aqui o meu grande agradecimento a equipe da elluslab por ter criado pelo menos metade da solução para resolver meu problema.</p>
<p><strong>José Wilker</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://wilker.com.br/blog/?feed=rss2&amp;p=4</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
