Posts tagged: xDebug

sapo sessions php

sapoPHP

Ontem fui a assistir a uma sessão de php

Aqui fica um pequeno resumo da sessão :

Optimização de código

Usar sempre que possivel require_once em vez de include.

Nas strings usar o explode em vez do preg_split.

Usar arrays o php trabalha bem com arrays.

Evitar gravar as sessões e cookies em ficheiros, pois o acesso ao filesystem é sempre mais lento, de preferência utilizar o memcached.

Reduzir ciclos, querys , stats, remote resquests.

Não misturar HTML no meio da lógica . HTML Deve ser HTML.

Evitar as mensagens de erro do php, warnings, notices pois se aparecem é má programação.

<– Apache –>

Directory index

Se o nosso ficheiro de index é index.php deve estar logo na 1ª linha do directory index.

A maior parte dos casos temos.. index.html,index.js, index.asp, index.htm e só no fim é que aparece o index.php

.htaccess

Se não estamos a utilizar ficheiros .htaccess desligar o mesmo do apache.

Evitar os symlinks.

Novidades do PHP 5

Namespace

Reflection

Late Static Binding

Interface

Final Class

anonymous function

clone

SPL – Standard PHP library

SOLR

DATETIME

definir um date_default (sempre que se trabalha com datas)

Timezone

Memcache(d)

PECL

SQL – PDO

DataBase access layer

Simple XML

Webservices

O auth

SOAP

Streams

- Stream filters

-Stream contexts

-Stream erros

Magic quotes

Filter sanitize

Special chars

SuhosinPATH

desactivar CURL

desactivar remote links

Mail

Banir Ficheiros / binary

Zend server

Zend platform

Zend guard

Zend studio edit (debug)

APC (op code cache)

Strace

XDebug

Webgriad

Boas Práticas

Utilizar ficheiros de config, classes, definir sempre o time zone, classe debug, classe procedure, classe log, fire php.

Smarty Templates

Quem usa ?

Zend , xcart, xoops, open

Objectivo

Separar a lógica da apresentação

Estrutura de pastas do smarty
libs
templates
templates_c
cache

As smarty templates atenuam o cross site (XSS – injecção e colocação de exploits)

Frameworks php

Log4PHP

Como usar o smarty ?

PHP – Controlo de erros (Debug)

Analise dos logs enquanto se desenvolve

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.

error_reporting  =  E_ALL

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.

display_errors = Off

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.

log_errors = On ; Desejamos gravar as mensagens em ficheiro

error_log = “/var/logs/php.log” ; Caminho para o ficheiro onde desejamos gravar as mensagens

Depois basta abrir uma consola onde estou a monitorizar toda a actividade do ficheiro de log do php.

tail -f /var/logs/php.log

Xdebug

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 xdebug_call_class(), que permite saber em que class foi o método invocado, entre muitas outras.

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.

Mais informações sobre a extensão na página da mesma.

WordPress Themes