<?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>SpotGeek.net &#187; xDebug</title>
	<atom:link href="http://spotgeek.net/tag/xdebug/feed/" rel="self" type="application/rss+xml" />
	<link>http://spotgeek.net</link>
	<description>Tecnologia , Programação , web , internet, php</description>
	<lastBuildDate>Sat, 04 Feb 2012 14:42:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>sapo sessions php</title>
		<link>http://spotgeek.net/sapo-sessions-php/</link>
		<comments>http://spotgeek.net/sapo-sessions-php/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 16:31:48 +0000</pubDate>
		<dc:creator>Filipe Teixeira Nunes</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[pt]]></category>
		<category><![CDATA[sapo]]></category>
		<category><![CDATA[sessions]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[xDebug]]></category>

		<guid isPermaLink="false">http://spotgeek.net/?p=489</guid>
		<description><![CDATA[PHP Ontem fui a assistir]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-490" title="sapo" src="http://spotgeek.net/wp-content/uploads/2009/10/sapo-300x300.png" alt="sapo" width="180" height="180" />PHP</p>
<p>Ontem fui a assistir a uma sessão de php</p>
<p>Aqui fica um pequeno resumo da sessão :</p>
<p><strong>Optimização de código</strong></p>
<p>Usar sempre que possivel require_once em vez de include.</p>
<p>Nas strings usar o explode em vez do preg_split.</p>
<p>Usar arrays o php trabalha bem com arrays.</p>
<p>Evitar gravar as sessões e cookies em ficheiros, pois o acesso ao filesystem é sempre mais lento, de preferência utilizar o memcached.</p>
<p>Reduzir ciclos, querys , stats, remote resquests.</p>
<p>Não misturar HTML no meio da lógica . HTML Deve ser HTML.</p>
<p>Evitar as mensagens de erro do php, warnings, notices pois se aparecem é má programação.</p>
<p><strong>&lt;– Apache –&gt;</strong></p>
<p>Directory index</p>
<p>Se o nosso ficheiro de index é index.php deve estar logo na 1ª linha do directory index.</p>
<p>A maior parte dos casos temos.. index.html,index.js, index.asp, index.htm e só no fim é que aparece o index.php</p>
<p>.htaccess</p>
<p>Se não estamos a utilizar ficheiros .htaccess desligar o mesmo do apache.</p>
<p>Evitar os symlinks.</p>
<p><strong>Novidades do PHP 5 </strong></p>
<p>Namespace</p>
<p>Reflection</p>
<p>Late Static Binding</p>
<p>Interface</p>
<p>Final Class</p>
<p>anonymous function</p>
<p>clone</p>
<p><strong>SPL – Standard PHP library </strong></p>
<p>SOLR</p>
<p>DATETIME</p>
<p>definir um date_default (sempre que se trabalha com datas)</p>
<p>Timezone</p>
<p>Memcache(d)</p>
<p>PECL</p>
<p><strong>SQL – PDO</strong></p>
<p>DataBase access layer</p>
<p><strong>Simple XML</strong></p>
<p>Webservices</p>
<p>O auth</p>
<p>SOAP</p>
<p>Streams</p>
<p>- Stream filters</p>
<p>–Stream contexts</p>
<p>–Stream erros</p>
<p>Magic quotes</p>
<p>Filter sanitize</p>
<p>Special chars</p>
<p>SuhosinPATH</p>
<p>desactivar CURL</p>
<p>desactivar remote links</p>
<p>Mail</p>
<p>Banir Ficheiros / binary</p>
<p>Zend server</p>
<p>Zend platform</p>
<p>Zend guard</p>
<p>Zend studio edit (debug)</p>
<p>APC (op code cache)</p>
<p>Strace</p>
<p>XDebug</p>
<p>Webgriad</p>
<p><strong>Boas Práticas </strong></p>
<p>Utilizar ficheiros de config, classes, definir sempre o time zone, classe debug, classe procedure, classe log, fire php.</p>
<h2>Smarty Templates</h2>
<p>Quem usa ?</p>
<p>Zend , xcart, xoops, open</p>
<p>Objectivo</p>
<p>Separar a lógica da apresentação</p>
<p>Estrutura de pastas do smarty<br />
libs<br />
templates<br />
templates_c<br />
cache</p>
<p>As smarty templates atenuam o cross site (XSS – injecção e colocação de exploits)</p>
<p>Frameworks php</p>
<p>Log4PHP</p>
<p><a title="smarty" href="http://www.smarty.net/manual/pt_BR/" target="_blank">Como usar o smarty ?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://spotgeek.net/sapo-sessions-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP — Controlo de erros (Debug)</title>
		<link>http://spotgeek.net/php-controlo-de-erros-debug/</link>
		<comments>http://spotgeek.net/php-controlo-de-erros-debug/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 01:29:12 +0000</pubDate>
		<dc:creator>Filipe Teixeira</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[xDebug]]></category>

		<guid isPermaLink="false">http://spotgeek.net/?p=96</guid>
		<description><![CDATA[Analise dos logs enquanto se]]></description>
			<content:encoded><![CDATA[<h3>Analise dos logs enquanto se desenvolve</h3>
<p>Um dos erros muito comuns no desenvolvimento em qualquer linguagem interpretada é não usarmos a totalidade das vantagens da análise de logs. No PHP para um uso mais eficiente do relatório de erros e avisos, a propriedade error_reporting, no ficheiro php.ini, deverá ser definida como E_ALL.</p>
<p><strong>error_reporting  =  E_ALL</strong></p>
<p>Para um desenvolvimento mais efectivo, desligo sempre a visualização de erros no “screen”, preferindo a análise dos mesmos no ficheiro de log. Para isso defino o display_errors como desligado.</p>
<p><strong>display_errors = Off</strong></p>
<p>Necessitamos ainda, de indicar ao PHP para efectuar o log dos erros para um ficheiro e indicar qual o caminho para o ficheiro onde desejamos gravar as mensagens de erro.</p>
<p><strong>log_errors = On</strong> ; Desejamos gravar as mensagens em ficheiro</p>
<p><strong>error_log = “/var/logs/php.log”</strong> ; Caminho para o ficheiro onde desejamos gravar as mensagens</p>
<p>Depois basta abrir uma consola onde estou a monitorizar toda a actividade do ficheiro de log do php.</p>
<p><strong>tail –f /var/logs/php.log</strong></p>
<h3>Xdebug</h3>
<p>A extensão XDebug para PHP permite efectuar profilling e debugging de uma forma muito simples, com funções como xdebug_memory_usage( ), que nos permite analisar o uso da memória do script currente, que também tem correspondente na versão nativa do php, memory_get_usage(), a função <a href="http://www.xdebug.org/docs/all_functions#xdebug_call_class" target="_blank">xdebug_call_class()</a>, que permite saber em que class foi o método invocado, entre muitas outras.</p>
<p>A extensão XDebug proporciona uma melhoria na visualização de mensagens de erro, podendo-se observar o caminho de execução do script até ao momento em que aconteceu o erro, por exemplo.</p>
<p>Mais informações sobre a extensão na <a href="http://www.xdebug.org/docs/" target="_blank">página da mesma</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://spotgeek.net/php-controlo-de-erros-debug/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

