Está é uma biblioteca genérica voltada a efetuar testes/verificação de conectividade.
Está biblioteca segue os padrões descritos na PSR-2, logo, isso implica que a mesma está em conformidade com a PSR-1.
As palavras-chave "DEVE", "NÃO DEVE", "REQUER", "DEVERIA", "NÃO DEVERIA", "PODERIA", "NÃO PODERIA", "RECOMENDÁVEL", "PODE", e "OPCIONAL" neste documento devem ser interpretadas como descritas no RFC 2119. Tradução livre RFC 2119 pt-br.
- Referências
- Funcionalidades
- Requisitos (módulos)
- Baixando o pacote crphp/check
- Exemplos de uso
- Licença (MIT)
- PSR-1
- PSR-2
- RFC 2119 (tradução livre RFC 2119 pt-br)
- Health Check
- Ping
- Socket
- Tracert / Traceroute
Os módulos abaixos já estão definidos no arquivo composer.json, isso significa que serão validados automaticamente.
- REQUER ext-curl
- REQUER ext-sockets
Para a etapa abaixo estou pressupondo que você tenha o composer instalado e saiba utilizá-lo:
composer require crphp/check
Ou se preferir criar um projeto:
composer create-project --prefer-dist crphp/check nome_projeto
Caso ainda não tenha o composer instalado, obtenha este em: https://getcomposer.org/download/
Obs: este é um exemplo simples, funcionalidades adicionais estão disponíveis em cada pacote.
Health Check:
use Crphp\Check\HealthCheck;
$obj = new HealthCheck;
$obj->setRequest("http://www.terra.com.br")
->setAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Safari/602.1.50")
->setRedirect()
->doRequest();
echo ($obj->searchString('esportes')) ? 'String encontrada!' : 'String não encontrada!' ;
// Retorna um array contendo o cabeçalho da resposta
// $obj->getHeader();
// Retorna uma string contendo código http + mensagem de acordo com a
// $obj->getHeader()['raw_info']['http_code'] . ' ' . $obj->getHeader()['http_code_message'];
// Ao manter htmlentities o código html será mostrado. Ao omitir htmlentities o conteúdo será renderizado no navegador.
// echo htmlentities($obj->getResponse());
Ping
use Crphp\Check\Ping;
$output = Ping::run('www.google.com.br');
if (is_array($output)) {
echo '<pre>' . Ping::toString($output) . '</pre>';
} else {
echo 'Não foi possível executar o ping';
}
Socket
use Crphp\Check\Socket;
$result = Socket::run( 'www.google.com.br', 80);
echo ($result === true) ? 'Tudo ok ;)' : $result;
Traceroute/Tracert
use Crphp\Check\Traceroute;
$output = Traceroute::run("google.com.br", 2);
if (is_array($output)) {
echo '<pre>' . Traceroute::toString($output) . '</pre>';
} else {
echo 'Não foi possível executar o tracer';
}
Todo o conteúdo presente neste diretório segue o que determina a licença MIT.