Este projeto trata-se de uma pequena aplicação para ler um ficheiro XML de um site de notícias. Com a aplicação, será extraido deste ficheiro xml, os seus links e os seus título que passaram por uma série de "validações".
- cd
project_path
- Run
composer install
name: PHPAppTerranova
type: php
docroot: ""
php_version: "8.1"
webserver_type: nginx-fpm
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
use_dns_when_possible: true
composer_version: "2"
web_environment: []
Dentro do ddev ssh correr
- ./console.php app:app:report-URLs
base_url input
xml_file input
int input
- ./console.php app:titleValidator
base_url input
xml_file input
int input
-
./console.php app:app:report-URLs
base_url input
xml_file input
int input
Comando que fornece um report de URL´s inativos(status code 404)/ativos(status code 200) e outro tipo de url´s. Aqui é feita a leitura do ficheiro XML onde será retirado o href de cada node (notícia). Este href que foi extráido do ficheiro XML será adicionado a uma base que formará um URL. Depois desta primeira fase concluída, o URL criado será verificado, caso seja válido/exista será guardado no array $activeURLS, caso seja inválido/não exista seja aguardado no array $inactiveURLS. No caso de retornar um status code diferente de 200 ou 404 seja colocado no array $othersURLS. Ao correr o comando é necessário especificar, que base URL quer verificar, que ficheiro xml prentende ler, bem como o report que deseja obter no final (Caso pretenda o report de URL´s válidos coloque o número 1, caso seja o report de URL´s diferentes coloque o número 2, ou se pretender saber outro tipo de URL´s coloque o número 3). -
./console.php app:titleValidator
base_url input
xml_file input
int input
Comando que fornece um report de titulos que sofreram alteração. Aqui é feita a leitura do ficheiro XML onde será retirado o título de cada node (notícia). Depois será feita a comparação entre o título presente no ficheiro XML e o título presente no URL dessa mesma notícia. Ao correr o comando é necessário especificar, que base URL quer verificar, ficheiro xml prentende ler, bem como o report que deseja obter no final (Caso pretenda o report de títulos iguais coloque o número 1, caso seja o report de títulos diferentes coloque o número 2). -
./console.php app:app:report-Podcast
xml_file input
int input
Comando que fornece um report de podcast's inativos (status code 404)/ativos (status code 200) e outro tipo de podcast´s (com um status code diferente). Aqui é feita a leitura do ficheiro XML onde será retirado o url de cada podcast e o NID associado ao mesmo. Tendo o url do podcast, é chamada uma função que irá buscar os headers HTTP de cada url extraído do ficheiro xml e é extraído o status code, se for 200 os url´s dos podcast´s são guardados no array $activePod, se 404 são guardados no array $inactivePod. Neste dois casos o report contêm todos os url´s dos podcast´s juntamente com o seu NID associado, no caso de ser retornado outro status code, seja ele qual for, os url´s são guardados no array $otherPod e o seu report contêm também o status code retornado quando é feita a busca pelos headers HTTP. É importante referir que o utilizador pode escolher que report pretende obter, basta apenas fornecer como um dado de input (int input
) o número 1 para o report de podcast´s ativos, 2 para podcast´s inativos e 3 para outro tipo de podcast´s encontrados.
The Console component eases the creation of beautiful and testable command line interfaces.
The Console component for Symfony 6.4 is backed by Les-Tilleuls.coop.
Les-Tilleuls.coop is a team of 70+ Symfony experts who can help you design, develop and fix your projects. They provide a wide range of professional services including development, consulting, coaching, training and audits. They also are highly skilled in JS, Go and DevOps. They are a worker cooperative!
Help Symfony by sponsoring its development!
Resources/bin/hiddeninput.exe
is a third party binary provided within this
component. Find sources and license at https://github.com/Seldaek/hidden-input.