Skip to content

Posts tagged ‘xDebug’

22
Out

sapo sessions php

sapoPHP

Ontem fui a assi­s­tir a uma sessão de php

Aqui fica um pequeno resumo da sessão :

Opti­miza­ção de código

Usar sem­pre que pos­sivel require_once em vez de include.

Nas strings usar o explode em vez do preg_split.

Usar arrays o php tra­balha bem com arrays.

Evi­tar gravar as sessões e cook­ies em ficheiros, pois o acesso ao filesys­tem é sem­pre mais lento, de prefer­ên­cia uti­lizar o memcached.

Reduzir cic­los, querys , stats, remote resquests.

Não mis­tu­rar HTML no meio da lóg­ica . HTML Deve ser HTML.

Evi­tar as men­sagens de erro do php, warn­ings, notices pois se apare­cem é má programação.

<– Apache –>

Direc­tory index

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

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

.htac­cess

Se não esta­mos a uti­lizar ficheiros .htac­cess desli­gar o mesmo do apache.

Evi­tar os symlinks.

Novi­dades do PHP 5

Name­space

Reflec­tion

Late Sta­tic Binding

Inter­face

Final Class

anony­mous function

clone

SPL – Stan­dard PHP library

SOLR

DATETIME

definir um date_default (sem­pre que se tra­balha com datas)

Time­zone

Memcache(d)

PECL

SQL – PDO

Data­Base access layer

Sim­ple XML

Web­ser­vices

O auth

SOAP

Streams

- Stream filters

–Stream con­texts

–Stream erros

Magic quotes

Fil­ter sanitize

Spe­cial chars

Suhos­in­PATH

desac­ti­var CURL

desac­ti­var remote links

Mail

Banir Ficheiros / binary

Zend server

Zend plat­form

Zend guard

Zend stu­dio edit (debug)

APC (op code cache)

Strace

XDe­bug

Web­griad

Boas Práti­cas

Uti­lizar ficheiros de con­fig, classes, definir sem­pre o time zone, classe debug, classe pro­ce­dure, classe log, fire php.

Smarty Tem­plates

Quem usa ?

Zend , xcart, xoops, open

Objec­tivo

Sep­a­rar a lóg­ica da apresentação

Estru­tura de pas­tas do smarty
libs
tem­plates
templates_c
cache

As smarty tem­plates aten­uam o cross site (XSS – injecção e colo­cação de exploits)

Frame­works php

Log4PHP

Como usar o smarty ?

9
Dez

PHP — Controlo de erros (Debug)

Analise dos logs enquanto se desenvolve

Um dos erros muito comuns no desen­volvi­mento em qual­quer lin­guagem inter­pre­tada é não usar­mos a total­i­dade das van­ta­gens da análise de logs. No PHP para um uso mais efi­ciente do relatório de erros e avi­sos, a pro­priedade error_reporting, no ficheiro php.ini, dev­erá ser definida como E_ALL.

error_reporting  =  E_ALL

Para um desen­volvi­mento mais efec­tivo, desligo sem­pre a visu­al­iza­ção de erros no “screen”, preferindo a análise dos mes­mos no ficheiro de log. Para isso defino o display_errors como desligado.

display_errors = Off

Neces­si­ta­mos ainda, de indicar ao PHP para efec­tuar o log dos erros para um ficheiro e indicar qual o cam­inho para o ficheiro onde dese­jamos gravar as men­sagens de erro.

log_errors = On ; Dese­jamos gravar as men­sagens em ficheiro

error_log = “/var/logs/php.log” ; Cam­inho para o ficheiro onde dese­jamos gravar as mensagens

Depois basta abrir uma con­sola onde estou a mon­i­tor­izar toda a activi­dade do ficheiro de log do php.

tail –f /var/logs/php.log

Xde­bug

A exten­são XDe­bug para PHP per­mite efec­tuar pro­fill­ing e debug­ging de uma forma muito sim­ples, com funções como xdebug_memory_usage( ), que nos per­mite anal­isar o uso da memória do script cur­rente, que tam­bém tem cor­re­spon­dente na ver­são nativa do php, memory_get_usage(), a função xdebug_call_class(), que per­mite saber em que class foi o método invo­cado, entre muitas outras.

A exten­são XDe­bug pro­por­ciona uma mel­ho­ria na visu­al­iza­ção de men­sagens de erro, podendo-se obser­var o cam­inho de exe­cução do script até ao momento em que acon­te­ceu o erro, por exemplo.

Mais infor­mações sobre a exten­são na página da mesma.

Bad Behavior has blocked 69 access attempts in the last 7 days.