Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, criei esse script onde eu salvo no banco ou atualizo a origem do usuário dentro do meu site.. mais quando eu navego no site ele cadastra a minha url também..
Alguém pode me dar alguma dica para eu melhorar esse script? valeu...
O código está funcionando normal só queria dar uma melhorada nele. gostaria de algumas dicas...
$origem = filter_input(INPUT_SERVER, 'HTTP_REFERER', FILTER_DEFAULT);
$read->ExeRead(DB_ORIGEM,"WHERE url = :u", "u={$origem}");
if ($read->getResult()):
$url = ['views' => $read->getResult()[0]['views'] + 1, 'updated' => date('Y-m-d H:i:s')];
$update->ExeUpdate(DB_ORIGEM, $url, "WHERE id = :id", "id={$read->getResult()[0]['id']}");
else:
$create = new Create;
$url = ['url' => strtolower($origem), 'views' => 1, 'created' => date('Y-m-d H:i:s'), 'status' => 1];
$create->ExeCreate(DB_ORIGEM, $url);
endif;>
4 minutos atrás, Gabriel Heming disse:
Que tipo de melhoria/dicas você gostaria? Leitura, manutenção, execução, velocidade, complexidade ciclomática, qual biblioteca utilizar?
Olá, tudo bem? estou utilizando pdo, mais a melhoria pode ser uma sugestão mesmo...Qualquer coisa que possa ajudar...uma coisa que estou mexendo é, ele esta gravando as url próprias do site e uma coisa que não poderia fazer é as url interna e sim somente as externa...
HTTP_REFERER vai retornar a URL de onde o usuário veio. Ou seja, a última página que ele esteve.
O que você pode fazer para melhorar o seu código em questões de leitura e manutenção é utilizar o PHPMD e criar significados para cada trecho do código.
Tais quais:
O que esse trecho de código faz?
$read->getResult()[0]['views'] + 1
Por que está pegando o primeiro registro? Por que está somando + 1? etc..
No lugar dele, crie uma função que deixe explícito o que ele realmente faz. Isso para cada trecho do código aonde não é explícito o suficiente para quem não escreveu o código.
Que tipo de melhoria/dicas você gostaria? Leitura, manutenção, execução, velocidade, complexidade ciclomática, qual biblioteca utilizar?