Em Busca da “Zend PHP Yellow Pages”
Archive for January, 2009
Funções – Parte I – Sintaxe Básica
Jan 17th
A sintaxe de uma função básica é muito simples. Para criar uma nova função, nós simplesmente usamos a palavra-chave function, seguido por um identificador ou nome de função, um par de parênteses e chavetas, vejam o exemplo abaixo:
function nome() { }
Nome de funções no PHP não são case-sensitive. Tal como acontece com todos os identificadores em PHP, o nome deve consistir de letras (a – z), números e o caractere sublinhado, e não pode iniciar por um número.
Para sua função fazer alguma coisa, basta colocar o código a ser executado entre as chaves, então chamá-lo.
function ola()
{
echo “Olá mundo!”;
}
ola(); // será impresso “Olá mundo!”
Funções
Jan 16th
Apartir de hoje estaremos falando de funções que é o coração da programação PHP. Tem a capacidade de sintetizar qualquer pedaço de código de uma forma que pode ser chamado novamente, e novamente é inestimável, que é a base da estrutura processual da programação orientada para objeto.
Iremos centrar nossa atenção sobre os diversos aspectos da criação e gestão das funções dentro de scripts PHP, portanto, falaremos sobre como escrever funções, em vez de usá-las.
Erros – parte III – Erros de manipulação
Jan 15th
Seus scripts devem sempre ser capazes de recuperar de um erro, mesmo que esse erro seja apenas para informar o usuário do ocorrido. Desta forma, o script não irá finalizar inesperadamente, resultando em melhor comunicação com os usuários e evitando possíveis problemas.
Felizmente é muito fácil o tratamento do erro. Seus scripts podem declarar uma função “pega tudo”, que será chamada a função set_error_handler() pelo PHP quando uma condição de erro ocorrer, veja o exemplo abaixo:
$oldErrorHandler = ’’;
function myErrorHandler ($errNo, $errStr, $errFile, $errLine, $errContext) {
logToFile(“Erro $errStr no arquivo $errFile na linha $errLine”);
// Chame o oldErrorHandler
if ($oldErrorHandler) {
$oldErrorHandler ($errNo, $errStr, $errFile, $errLine, $errContext);
}
}
$oldErrorHandler = set_error_handler ($oldErrorHandler);
Como você pode ver, o nome da função do antigo manipulador de erros (se houver) será retornado pela chamada para set_error_handler(), pois isso permite-lhe juntar diversos tratadores de erro uns em cima dos outros, tornando assim possível ter dierentes funções tratando diferentes tipos de erros.
É importante manter em mente que seu manipulador de erro será completamente derivado do PHP. Assim o mecanismo de erro que será responsável por lidar com todos os erros, e parar a execução do script, se necessário.
A partir do PHP5, set_error_handler () suporta um segundo parâmetro que permite que você especifique os tipos de erros que um manipulador especial é responsável pela captura. Este parâmetro tem os mesmos valores constantes como o error_reporting () function.
Erros – parte II – Reportando Erros
Jan 14th
Depois de uma longa temporada sem escrever, estou retornando aos estudos, pois no fim de ano sabe como é? Muito trabalho e muita cerveja.
Por padrão, o PHP reporta qualquer erro que encontra na saída do script. A menos que você esteja em ambiente de depuração, sendo essa uma característica que raramente você vai querer pois ao exibir os erros dos seus scripts para os usuários, poderia ser gerado um grande problema de segurança.
Felizmente, várias diretivas de configuração podem ser ajustadas no arquivo php.ini, informando como e quais os erros serão relatados. Os mais importantes são error_reporting, display_errors e log_errors.
A directiva Error_reporting determina quais os erros são reportados pelo PHP. Por exemplo, o seguinte permite a comunicação de todos erros, exceto avisos:
error_reporting=E_ALL & ~E_NOTICE
Comunicação de erro também pode ser alterado dinamicamente a partir de dentro de um script chamando a
função error_reporting().
As diretivas display_errors e log_errors podem ser usadas para determinar como erros são relatados. Se display_errors está ligada, os erros são reportados quando ocorrem nos scripts. De modo geral, isso não é desejável em um ambiente de produção, porque todos serão capazes de ver os erros dos seus scripts. Sob essas circunstâncias, você vai querer ligar o log_errors, irá gerar um log com os registros de erros do servidor.